Erreur du compilateur C2273
'type' : illégal comme côté droit de l’opérateur '->'
Un type apparaît comme l’opérande droit d’un ->
opérateur.
Cette erreur peut être due à une tentative d’accès à une conversion de type définie par l’utilisateur. Utilisez le mot clé operator
entre -> et type
.
L’exemple suivant génère l’erreur C2273 :
// C2273.cpp
struct MyClass {
operator int() {
return 0;
}
};
int main() {
MyClass * ClassPtr = new MyClass;
int i = ClassPtr->int(); // C2273
int j = ClassPtr-> operator int(); // OK
}