私はSTLベクトルの中に格納されている非常に基本的なクラスを持っています。私はそのベクトルをソートしようとしていますが、わかりにくいSTLエラーが発生しています。誰かを助けることができる?C++演算子のオーバーロード:私のカスタムクラスのベクトルのstlソート
// Point.h
class Point {
public:
Point() : x(0), y(0) {}
Point(float x0, float y0) : x(x0), y(y0) {}
float x;
float y;
};
// Point.cpp, updated const as per given answers
bool operator< (const Point &p1,const Point &p2)
{
return p1.x < p2.x || (p1.x==p2.x && p1.y< p2.y);
}
ここでも、このPointクラスはベクトルに格納され、ソートされている:
std::vector<Point> tmp=N->points;
std::sort(tmp.begin(),tmp.end());
エラー:
誰かが正しい方向に私を指すことができますか?ありがとう!
constのポイント&過負荷への引数としてを試してみてください。 – ds1848
あなたはideone.comの使い方について誤解されているようです。 *プログラムをそこに置くと、エラーメッセージがコンパイルされ生成されます。エラーメッセージを貼り付ける必要はありません。 –
@ MarkRansom:私が知っている限り、ideoneに複数のソースファイルとヘッダーファイルを置くことはできません。 –