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