Erreur du compilateur C2675
unaire 'operator' : 'type' ne définit pas cet opérateur ou une conversion vers un type acceptable pour l’opérateur prédéfini
C2675 peut également se produire lors de l’utilisation d’un opérateur unaire, et le type ne définit pas l’opérateur ou une conversion vers un type acceptable pour l’opérateur prédéfini. Pour utiliser l'opérateur, vous devez le surcharger pour le type spécifié ou définir une conversion vers un type pour lequel l'opérateur est défini.
Exemple
L’exemple suivant génère l’erreur C2675.
// C2675.cpp
struct C {
C(){}
} c;
struct D {
D(){}
void operator-(){}
} d;
int main() {
-c; // C2675
-d; // OK
}