Ошибка компилятора C3149
"type" : не удается использовать этот тип здесь без символа верхнего уровня"
Объявление не было указано правильно.
Например, возможно, вы определили тип СРЕДЫ 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