Erro do compilador C2144
Erro de sintaxe: 'type' deve ser precedido por 'token'
Em vez disso, o compilador esperava token e encontrou o tipo.
Esse erro pode ser causado por uma chave de fechamento ausente, parênteses à direita ou ponto-e-vírgula.
C2144 também pode ocorrer ao tentar criar uma macro a partir de uma palavra-chave CLR que contém um caractere de espaço em branco.
Você também poderá receber a C2144 se estiver tentando fazer o encaminhamento de tipo. Consulte Encaminhamento de Tipo (C++/CLI) para obter mais informações.
Exemplos
O exemplo a seguir gera o erro C2144 e mostra um meio de corrigi-lo:
// C2144.cpp
// compile with: /clr /c
#define REF ref
REF struct MyStruct0; // C2144
// OK
#define REF1 ref struct
REF1 MyStruct1;
O exemplo a seguir gera o erro C2144 e mostra um meio de corrigi-lo:
// C2144_2.cpp
// compile with: /clr /c
ref struct X {
property double MultiDimProp[,,] { // C2144
// try the following line instead
// property double MultiDimProp[int , int, int] {
double get(int, int, int) { return 1; }
void set(int i, int j, int k, double l) {}
}
property double MultiDimProp2[] { // C2144
// try the following line instead
// property double MultiDimProp2[int] {
double get(int) { return 1; }
void set(int i, double l) {}
}
};