Question

  

C ++ 03 13,6 $ / 1- « [...] En cas de   candidat écrit par l'utilisateur avec le même   le nom et les types de paramètres comme intégré   candidat fonction de l'opérateur, la   fonction intégrée de l'opérateur est caché   et ne sont pas inclus dans l'ensemble des   fonctions candidats. "

Je ne suis pas sûr de l'intention de cette citation de la norme. Est-il possible de définir une fonction candidate définie par l'utilisateur qui a le même nom et le type comme opérateur intégré?

par exemple. le ci-dessous qui est manifestement erronée.

int operator+(int)

Alors qu'est-ce que cela signifie de citation?

Était-ce utile?

La solution

Il suffit de choisir l'un de ceux 13.6. Comme

  

Pour chaque type de pointeur ou énumération T, il existe des fonctions d'opérateur candidats de la forme

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) { ... }
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top