Erro do compilador C3149
'type': não é possível usar este tipo aqui sem um 'char' de alto nível
Uma declaração não foi especificada corretamente.
Por exemplo, você pode ter definido um tipo CLR no escopo global e tentado criar uma variável do tipo como parte da definição. Como variáveis globais de tipos CLR não são permitidas, o compilador gerará C3149.
Para resolver esse erro, declare variáveis de tipos CLR dentro de uma definição de função ou tipo.
A amostra a seguir gera 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
}
A amostra a seguir gera C3149:
// C3149b.cpp
// compile with: /clr /c
delegate int MyDelegate(const int, int);
void Test1(MyDelegate m) {} // C3149
void Test2(MyDelegate ^ m) {} // OK