Compartir a través de


Error del compilador C2677

'operador' binario: no se encontró un operador global que adopte el tipo 'tipo' (o bien no existe una conversión aceptable)

Para usar este operador, debe sobrecargarlo para el tipo especificado o definir una conversión a un tipo para el que esté definido el operador.

El ejemplo siguiente genera el error 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
}