Erro do compilador C2273
'type': inválido como lado direito do operador '->'
Um tipo aparece como o operando direito de um operador ->
.
Esse erro pode ser causado pela tentativa de acessar uma conversão de tipo definido pelo usuário. Use a palavra-chave operator
entre -> e type
.
O seguinte exemplo gera o erro 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
}