Partilhar via


Erro do compilador C3149

'type' : não pode usar este tipo aqui sem um 'char' de nível superior

Observações

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.

Examples

O exemplo 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
}

O exemplo 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