Line 14: Char 50: error: reference to non-static member function must be called sort(intervals.begin(), intervals.end(), compare_1); ^~~~~~~~~的问题所在
时间: 2024-02-10 09:30:42 浏览: 175
Dark.Intervals.Guitars.In.Space.KONTAKT-DECiBEL.rar
这个错误是因为你正在尝试将一个非静态成员函数作为参数传递给`sort`函数,但是非静态成员函数需要通过对象来调用。为了解决这个问题,你可以使用lambda表达式或者将比较函数改为静态成员函数。
使用lambda表达式的示例代码如下:
```cpp
sort(intervals.begin(), intervals.end(), [](const Interval& a, const Interval& b){
return a.start < b.start;
});
```
将比较函数改为静态成员函数的示例代码如下:
```cpp
struct Interval {
int start;
int end;
static bool compare_1(const Interval& a, const Interval& b) {
return a.start < b.start;
}
};
sort(intervals.begin(), intervals.end(), Interval::compare_1);
```
请根据你的需要选择适合的解决方案。
阅读全文