Pregunta

  

C ++ 03 $ 13.6 / 1- "[...] Si hay una   candidato escrito por el usuario con el mismo   nombre y los parámetros de tipos como un built-in   función de operador candidato, el   incorporado en función de operador está oculto   y no está incluido en el conjunto de   funciones candidatas ".

No estoy seguro acerca de la intención de esta cita de la Norma. ¿Es posible definir una función definida por el usuario candidato que tiene el mismo nombre y el tipo como un operador incorporado?

por ejemplo. el siguiente, que es claramente errónea.

int operator+(int)

Entonces, ¿qué significa esto cotización?

¿Fue útil?

Solución

Sólo tiene que elegir uno de los de 13,6. Como

  

Por cada puntero o enumeración de tipo T, existen funciones de operador candidatos de la forma

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

Entonces

enum Kind { Evil, Good };
bool operator<(Kind a, Kind b) { ... }
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top