Delen via


Compilerfout C2990

'klasse' : niet-klassetype is al als een klassetype gedeclareerd

Opmerkingen

De niet-algemene klasse of sjabloonklasse definieert een algemene klasse of sjabloonklasse opnieuw. Controleer headerbestanden op conflicten.

Voorbeelden

In het volgende voorbeeld wordt C2990 gegenereerd:

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

C2990 kan ook optreden bij het gebruik van generics:

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

ref struct GC {};   // C2990

C2990 kan ook optreden als gevolg van een belangrijke wijziging in de Microsoft C++-compiler voor Visual Studio 2005; de compiler vereist nu dat meerdere declaraties voor hetzelfde type identiek zijn met betrekking tot sjabloonspecificatie.

In het volgende voorbeeld wordt C2990 gegenereerd:

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