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


C2990 fordítóhiba

"osztály" : osztálytípusként már deklarált nem osztálytípus

Megjegyzések

A nem általános vagy sablonosztály újradefiniálja az általános vagy sablonosztályt. Ellenőrizze, hogy vannak-e ütközések a fejlécfájlokban.

Példák

Az alábbi példa c2990-et hoz létre:

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

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

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

ref struct GC {};   // C2990

A C2990 a Visual Studio 2005 Microsoft C++ fordítójának kompatibilitástörő változása miatt is előfordulhat; a fordító megköveteli, hogy az azonos típusú deklarációk azonosak legyenek a sablon specifikációjával.

Az alábbi példa c2990-et hoz létre:

// 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;
};