在类中定义时,我无法将 std::sort
函数与我的自定义比较函数一起使用。
class Test {
private:
vector< vector<int> > mat;
bool compare(vector<int>, vector<int>);
public:
void sortMatrix();
}
bool Test::compare( vector<int> a, vector<int> b) {
return (a.back() < b.back());
}
void Test::sortMatrix() {
sort(vec.begin(), vec.end(), compare);
}
我收到以下错误消息:
error: reference to non-static member function must be called
sort(vec.begin(), vec.end(), compare);
^~~~~~~
然而,当我在没有任何类的文件 main.cpp 中定义 compare()
和 sortMatrix()
时,一切正常。我将不胜感激任何帮助和建议。
原文由 Lennart 发布,翻译遵循 CC BY-SA 4.0 许可协议