Condividi tramite


Errore del compilatore C2677

binary 'operator': nessun operatore globale trovato che accetta il tipo 'type' (o non esiste alcuna conversione accettabile)

Osservazioni:

Per usare l'operatore, è necessario eseguirne l'overload per il tipo specificato o definire una conversione in un tipo per cui l'operatore è definito.

Esempio

L'esempio seguente genera l'errore C2677:

// C2677.cpp
class C {
public:
   C(){}
} c;

class D {
public:
   D(){}
   operator int(){return 0;}
} d;

int main() {
   int i = 1 >> c;   // C2677
   int j = 1 >> d;   // OK operator int() defined
}