Compartilhar via


Erro do compilador C2677

'operator' binário : nenhum operador global encontrado que receba o tipo 'type' (ou não há conversão aceitável)

Para usar o operador, você precisa sobrecarregá-lo para o tipo especificado ou definir uma conversão para um tipo para o qual o operador é definido.

O seguinte exemplo gera o erro 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
}