Freigeben über


Compilerfehler C2933

'class' : type-class-id definiert als typedef member of 'identifier'

Bemerkungen

Sie können eine generische oder Vorlagenklasse nicht als typedef Mitglied verwenden.

Dieser Fehler ist in Visual Studio 2022 und höheren Versionen veraltet.

Examples

Im folgenden Beispiel wird C2933 generiert:

// C2933.cpp
// compile with: /c
template<class T> struct TC { };
struct MyStruct {
   typedef int TC<int>;   // C2933
};

struct TC2 { };
struct MyStruct2 {
   typedef int TC2;
};

C2933 kann auch auftreten, wenn Generics verwendet werden:

// C2933b.cpp
// compile with: /clr /c
generic<class T> ref struct GC { };
struct MyStruct {
   typedef int GC<int>;   // C2933
};

ref struct GC2 { };
struct MyStruct2 {
   typedef int GC2;
};