C++03 $13.6/1- "[...]If there is a user-written candidate with the same name and parameter types as a built-in candidate operator function, the built-in operator function is hidden and is not included in the set of candidate functions."
I am not sure about the intent of this quote from the Standard. Is it possible to define a user defined candidate function that has the same name and type as a built-in operator?
e.g. the below which is clearly wrong.
int operator+(int)
So what does this quote mean?
Just pick one of those in 13.6. Like
For every pointer or enumeration type T, there exist candidate operator functions of the form
bool operator<(T, T); bool operator>(T, T); bool operator<=(T, T); bool operator>=(T, T); bool operator==(T, T); bool operator!=(T, T);
So
enum Kind { Evil, Good };
bool operator<(Kind a, Kind b) { ... }
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With