8

C ++ 03 $ 13.6 / 1- "[...]組み込みの候補演算子関数と同じ名前とパラメータータイプのユーザー作成の候補がある場合、組み込みの演算子関数は非表示になり、含まれません。候補関数のセットで。」

規格からのこの引用の意図についてはよくわかりません。組み込み演算子と同じ名前と型を持つユーザー定義の候補関数を定義することは可能ですか?

例えば、明らかに間違っている以下。

int operator+(int)

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

4

1 に答える 1

1

13.6でそれらの1つを選択するだけです。好き

すべてのポインターまたは列挙型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) { ... }
于 2010-11-09T07:00:05.043 に答える