【发布时间】:2021-07-13 11:10:40
【问题描述】:
我正在尝试使用 sort 方法对向量进行排序。
这是我的代码
bool compare(const student * a, const student* b)
{
return *a.mark < *b.mark || (a.mark == b.mark && a.name < b.name);
}
sort(total_student.begin(), total_student.end(), compare);
我在return 之前收到错误,它读取expected a ';',知道为什么我可能会收到此错误吗?
【问题讨论】:
-
您是否试图在另一个函数中定义一个函数?这个sn-p太小,无法解决问题,否则请提供minimal reproducible example
-
您在条件的第二部分中标记和命名的权限有误。 a.mark 应该是 a->mark.
-
请注意,
*a.mark与*(a.mark)和 not(*a).mark相同。最好使用a->mark。 -
total_student的类型是什么?
标签: c++ algorithm sorting comparator function-definition