Condividi tramite


Errore del compilatore C2273

'type': illegale come lato destro dell'operatore '->'

Un tipo viene visualizzato come operando destro di un -> operatore.

Questo errore può essere causato dal tentativo di accedere a una conversione dei tipi definita dall'utente. Usare la parola chiave operator tra -> e type.

L'esempio seguente genera l'errore 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
}