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
}