【发布时间】:2020-08-08 06:19:58
【问题描述】:
有没有办法在这样声明的类的作用域下在这里声明comp函数。
class Solution {
public:
bool comp(vector<int> x, vector<int> y){
return x[0] < y[0];
}
vector<vector<int>> merge(vector<vector<int>>& intervals) {
sort(intervals.begin(),intervals.end(),comp);
return {{}};
}
};
此代码 sn-p 给出错误:
必须调用非静态成员的引用
【问题讨论】:
-
reference to non static member按照提示设置为static bool comp(...。无论如何,它没有使用任何实例数据或方法,这正是static对类成员的含义。 -
你会制作一个
Solution对象吗?如果没有,那么也许使用namespace而不是class可能会有所帮助。 -
@dxiv 我很惊讶地看到这行得通,我记得这样做但失败了。谢谢
-
没有。要么你没有这样做,要么它没有失败。我们在这里不使用 SOLVED。