Sdílet prostřednictvím


Chyba kompilátoru C2951

Deklarace typů jsou povoleny pouze v oboru globálního oboru názvů, oboru názvů nebo třídy.

Poznámky

Nelze deklarovat obecnou třídu nebo třídu šablony mimo globální obor názvů nebo obor názvů. Pokud v souboru include uděláte obecné deklarace nebo deklarace šablony, ujistěte se, že je soubor include v globálním oboru.

Examples

Následující příklad generuje C2951:

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

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

K C2951 může také dojít při použití obecných typů:

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

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

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