クラスの演算子をオーバーロードしようとし<
、次のように関数を呼び出しました。
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);
私が試したものに対してコンパイルエラーが発生します。ここで何が間違っていますか?オブジェクトのセットを並べ替えるにはどうすればよいですか?