Udostępnij przez


Błąd kompilatora C3149

"type" : nie można użyć tego typu tutaj bez znaku najwyższego poziomu

Uwagi

Nie określono poprawnie deklaracji.

Na przykład można zdefiniować typ CLR w zakresie globalnym i spróbować utworzyć zmienną typu w ramach definicji. Ponieważ globalne zmienne typów CLR nie są dozwolone, kompilator wygeneruje C3149.

Aby rozwiązać ten błąd, zadeklaruj zmienne typów CLR wewnątrz funkcji lub definicji typu.

Przykłady

Poniższy przykład generuje kod 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
}

Poniższy przykład generuje kod C3149:

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