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
}