質問

C ++ 03 $ 13.6/1- [...]組み込みの候補演算子関数と同じ名前とパラメータータイプを持つユーザーが作成した候補がある場合、組み込みの演算子関数は隠されており、含まれていません候補機能のセットで。」

標準からのこの引用の意図についてはわかりません。組み込みのオペレーターと同じ名前とタイプを持つユーザー定義の候補関数を定義することは可能ですか?

たとえば、明らかに間違っています。

int operator+(int)

では、この引用はどういう意味ですか?

役に立ちましたか?

解決

13.6のいずれかを選ぶだけです。好き

すべてのポインターまたは列挙タイプtについて、フォームの候補演算子関数が存在します

bool operator<(T, T);
bool operator>(T, T);
bool operator<=(T, T);
bool operator>=(T, T);
bool operator==(T, T);
bool operator!=(T, T);

それで

enum Kind { Evil, Good };
bool operator<(Kind a, Kind b) { ... }
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top