Compartilhar via


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) {}
   }
};