编译器错误 C2273

“type”: 位于“->”运算符右边时非法

类型显示为 -> 运算符的右操作数。

尝试访问用户定义类型转换可能会引起此错误。 请在 -> 和 type 之间使用关键字 operator

下面的示例生成 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
}