我觉得好像我正确地使用了它,但编译器却有不同的感觉。我正在尝试使用 stl 排序算法在我的 sort_by_name 函数中按字母顺序对课程列表进行排序。这大致是我写的:
class SomeClass {
private:
struct course {
string id, name;
};
vector<course> COURSES;
bool nameCmp(course a, course b) {return (a.name > b.name) ? true : false;}
public:
void sort_by_name() {
sort(COURSES.begin(), COURSES.end(), nameCmp);
}
};
错误:
error: no matching function for call to ‘sort(std::vector<SomeClass::course>::iterator, std::vector<SomeClass::course>::iterator, <unresolved overloaded function type>)’
提前感谢您的帮助。