コンパイラ エラー C2144
構文エラー: 'type' は 'token' によって先行されなければなりません
コンパイラでは token が必要でしたが、type が検出されました。
このエラーは、右中かっこ、右かっこ、またはセミコロンがないことが原因で発生する場合があります。
C2144 は、空白文字を含む CLR キーワードからマクロを作成しようとしたときにも発生する可能性があります。
型の転送を実行しようとしている場合は、C2144 も表示されることがあります。 詳細については、「型の転送 (C++/CLI)」を参照してください。
例
次の例では、C2144 を生成し、その修正方法を示しています。
// C2144.cpp
// compile with: /clr /c
#define REF ref
REF struct MyStruct0; // C2144
// OK
#define REF1 ref struct
REF1 MyStruct1;
次の例では、C2144 を生成し、その修正方法を示しています。
// 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) {}
}
};