Sdílet prostřednictvím


Chyba kompilátoru C2990

'class' : typ bez třídy, který již byl deklarován jako typ třídy

Poznámky

Ne generická třída nebo třída šablony předefinuje obecnou třídu nebo třídu šablony. Zkontrolujte konflikty v souborech hlaviček.

Examples

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

// C2990.cpp
// compile with: /c
template <class T>
class C{};
class C{};   // C2990

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

// C2990b.cpp
// compile with: /clr /c
generic <class T>
ref struct GC;

ref struct GC {};   // C2990

K C2990 může dojít také kvůli zásadní změně kompilátoru Microsoft C++ pro Visual Studio 2005; kompilátor nyní vyžaduje, aby více deklarací pro stejný typ bylo shodné s ohledem na specifikaci šablony.

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

// C2990c.cpp
// compile with: /c
template<class T>
class A;

template<class T>
struct A2 {
   friend class A;   // C2990
};

// OK
template<class T>
struct B {
   template<class T>
   friend class A;
};