Compiler Error C2273
'type' : illegal as right side of '->' operator
A type appears as the right operand of a ->
operator.
This error can be caused by trying to access a user-defined type conversion. Use the keyword operator
between -> and type
.
The following sample generates 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
}