我尝试<
为类重载运算符并按如下方式调用该函数:
bool Edge::operator<(Edge const & e) const {
return this->GetCost() < e.GetCost();
}
在主()
sort(edge_set.begin(),edge_set.end());
此外,我还尝试为 main.cpp 中定义的对象编写一个简单的比较器函数并尝试调用sort()
,但再次失败:
bool edge_comparator(Edge& e1, Edge& e2){
return (e1.GetCost() < e2.GetCost());
}
在主()
sort(edge_set.begin(),edge_set.end(), edge_comparator);
对于我尝试过的那些,我得到一个编译错误。我在这里做错了什么?如何对对象集进行排序?