c++ 编译错误:必须调用对非静态成员函数的引用

qlvxas9a  于 2023-03-25  发布在  其他
关注(0)|答案(1)|浏览(129)

下面的代码旨在根据第一列对2D向量进行排序,但它返回错误:
第8行:字符43:致命错误:引用非静态成员函数必须调用sort(people.开始(),people.end(),sortfunc);生成^~~~~~~~ 1个错误。

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;
  }
};
roqulrg3

roqulrg31#

正如@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;
  }
};

相关问题