Erweitern Minimieren
Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen.
Übersetzung
Original
Dieser Artikel wurde noch nicht bewertet - Dieses Thema bewerten.

Compilerfehler C2990

'Klasse': Nicht-Klassentyp wurde bereits als Klassentyp deklariert

In einer Klasse, die nicht generisch und keine Vorlagenklasse ist, wird eine generische oder Vorlagenklasse neu definiert. Prüfen Sie die Headerdateien auf Konflikte.

Im folgenden Beispiel wird C2990 generiert:

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

C2990 kann auch auftreten, wenn Generika verwendet werden:

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

ref struct GC {};   // C2990

C2990 kann auch aufgrund einer unterbrechenden Änderung im Visual C++-Compiler für Visual C++ 2005 auftreten. Der Compiler erfordert jetzt, dass mehrere Deklarationen desselben Typs hinsichtlich der Vorlagenspezifikation identisch sind.

Im folgenden Beispiel wird C2990 generiert:

// 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;
};
Fanden Sie dies hilfreich?
(1500 verbleibende Zeichen)

Community-Beiträge

HINZUFÜGEN
© 2013 Microsoft. Alle Rechte vorbehalten.