我正在尝试对存储在向量中的 C++ 中的一些节点进行排序。
bool compare_func(const node* a, const node* b)
{
return a->getPoint()<b->getPoint();
}
其中 getPoint() 返回一个浮点数,我想通过该浮点数对向量进行排序。
但是,当我运行它时:
std::sort(dataSet.begin(), dataSet.end(), compare_func);
我得到:
error C2662: 'node::getStartPoint' : cannot convert 'this' pointer from 'const node' to 'node &
error C2662: 'node::getStartPoint' : cannot convert 'this' pointer from 'const node' to 'node &'
error C2039: 'sort' : is not a member of 'std'
error C3861: 'sort': identifier not found
我的文件顶部有这个:
using namespace std;
std::vector<node*> dataSet;
提前致谢!
更新:我重载了 getPoint 函数并且确实忘记了算法包含,[我以为我曾一度包含它]。
谢谢!