Megosztás a következőn keresztül:


C2951 fordítási hiba

a típusdeklarációk csak globális, névtér- vagy osztályhatókörben engedélyezettek

Megjegyzések

Globális vagy névtér hatókörén kívül nem deklarálhat általános vagy sablonosztályt. Ha általános vagy sablondeklarációkat készít egy belefoglalási fájlban, győződjön meg arról, hogy a belefoglalási fájl globális hatókörű.

Példák

A következő példa c2951-et hoz létre:

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

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

A C2951 általános használat esetén is előfordulhat:

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

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

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