Kompilatorfel C2951

typdeklarationer tillåts endast i globalt omfång, namnområde eller klassomfång

Anmärkningar

Du kan inte deklarera en allmän klass eller mallklass utanför global- eller namnområdesomfång. Om du gör dina generiska deklarationer eller malldeklarationer i en inkluderingsfil, säkerställ att inkluderingsfilen är i globalt omfång.

Examples

I följande exempel genereras C2951:

// C2951.cpp
template <class T>
class A {};

int main() {
   template <class T>   // C2951
   class B {};
}

C2951 kan också inträffa när du använder generiska:

// C2951b.cpp
// compile with: /clr /c

// OK
generic <class T>
ref class GC { };

int main() {
   generic <class T> ref class GC2 {};   // C2951
}