必须调用对非静态成员函数的引用
Rference to non-static member function must be called
以下代码旨在根据第一列对二维向量进行排序,但 returns 出现错误:
Line 8: Char 43: fatal error: reference to non-static member function
must be called
sort(people.begin(),people.end(), sortfunc);
^~~~~~~~ 1 error generated.
class Solution {
public:
bool sortfunc(const vector<int>& v1, const vector<int>& v2){
return v1[0]<v2[0];
}
vector<vector<int>> reconstructQueue(vector<vector<int>>& people) {
sort(people.begin(),people.end(), sortfunc);
return people;
}
};
正如@SevastianHoffmann 所建议的,lambda 函数可以完成这项工作。
class Solution {
public:
}
vector<vector<int>> reconstructQueue(vector<vector<int>>& people) {
sort(people.begin(),people.end(), [](const vector<int>& v1, const vector<int>& v2){
return v1[0]<v2[0];
});
return people;
}
};
以下代码旨在根据第一列对二维向量进行排序,但 returns 出现错误:
Line 8: Char 43: fatal error: reference to non-static member function must be called sort(people.begin(),people.end(), sortfunc); ^~~~~~~~ 1 error generated.
class Solution {
public:
bool sortfunc(const vector<int>& v1, const vector<int>& v2){
return v1[0]<v2[0];
}
vector<vector<int>> reconstructQueue(vector<vector<int>>& people) {
sort(people.begin(),people.end(), sortfunc);
return people;
}
};
正如@SevastianHoffmann 所建议的,lambda 函数可以完成这项工作。
class Solution {
public:
}
vector<vector<int>> reconstructQueue(vector<vector<int>>& people) {
sort(people.begin(),people.end(), [](const vector<int>& v1, const vector<int>& v2){
return v1[0]<v2[0];
});
return people;
}
};