コンパイラ エラー C3149
'type' : トップレベルの 'char' なしに、この型をここに使用することはできません
宣言が正しく指定されていません。
たとえば、CLR 型をグローバル スコープで定義し、その型の変数を定義の一部として作成しようとした可能性があります。 CLR 型のグローバル変数は許可されていないため、コンパイラは C3149 を生成します。
このエラーを解決するには、関数または型定義内で CLR 型の変数を宣言します。
次の例では C3149 が生成されます。
// C3149.cpp
// compile with: /clr
using namespace System;
int main() {
// declare an array of value types
array< Int32 ^> IntArray; // C3149
array< Int32>^ IntArray2; // OK
}
次の例では C3149 が生成されます。
// C3149b.cpp
// compile with: /clr /c
delegate int MyDelegate(const int, int);
void Test1(MyDelegate m) {} // C3149
void Test2(MyDelegate ^ m) {} // OK