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
}