Condividi tramite


Errore del compilatore C3149

'type': impossibile usare questo tipo qui senza un 'char' di primo livello

Una dichiarazione non è stata specificata correttamente.

Ad esempio, è possibile che sia stato definito un tipo CLR nell'ambito globale e si sia tentato di creare una variabile del tipo come parte della definizione. Poiché le variabili globali dei tipi CLR non sono consentite, il compilatore genererà C3149.

Per risolvere questo errore, dichiarare variabili di tipi CLR all'interno di una funzione o di una definizione di tipo.

L'esempio seguente genera l'errore 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
}

L'esempio seguente genera l'errore C3149:

// C3149b.cpp
// compile with: /clr /c
delegate int MyDelegate(const int, int);
void Test1(MyDelegate m) {}   // C3149
void Test2(MyDelegate ^ m) {}   // OK