Compartilhar via


Erro do compilador C2675

'binary 'operator' : 'type*' não define esse operador ou uma conversão para um tipo aceitável ao operador pré-definido

O C2675 também pode ocorrer ao usar um operador unário e o tipo não definir o operador nem uma conversão em um tipo aceitável para o operador predefinido. 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.

Exemplo

O seguinte exemplo gera o erro C2675.

// C2675.cpp
struct C {
   C(){}
} c;

struct D {
   D(){}
   void operator-(){}
} d;

int main() {
   -c;   // C2675
   -d;   // OK
}