“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
}