0

カスタムクラスがありstd::vector、このクラスのオブジェクトでいっぱいです。binary_searchそして、私はこの配列でやりたいです。

私は次のようにクラスの演算子をオーバーロードしました:

bool operator ==(const someClass&);
bool operator > (const someClass&);
bool operator < (const someClass&);

そして彼らはうまく働いています(彼らは体を持っています、うん)。

エラーエラーが発生しました

2   error C2678: binary '<' : no operator found which takes a left-hand operand of type 'const someClass' (or there is no acceptable conversion)

コピーコンストラクターを作成する必要がありますか(すでにオーバーロードされていますが、役に立ちませんでした)、または演算子に何か他のものを追加する必要がありますか?

ありがとう。

4

1 に答える 1

4

演算子をconstにする必要があります。

bool operator < (const someClass&) const;

それがなければ、RHSだけがconstです。

于 2012-06-28T16:56:18.760 に答える