Compartir a través de


Error del compilador C2675

'operador' unario: 'tipo' no define este operador o una conversión como tipo aceptable para el operador predefinido

El error C2675 se puede producir también cuando se usa un operador unario y el tipo no define el operador ni una conversión a un tipo aceptable para el operador predefinido. 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.

Ejemplo

El ejemplo siguiente genera el error C2675.

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

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

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