Erreur du compilateur C2933
'class' : type-class-id redéfini en tant que membre typedef de 'identifier'
Vous ne pouvez pas utiliser de classe générique ou de modèle en tant que typedef
membre.
Cette erreur est obsolète dans Visual Studio 2022 et versions ultérieures.
L’exemple suivant génère l’erreur C2933 :
// C2933.cpp
// compile with: /c
template<class T> struct TC { };
struct MyStruct {
typedef int TC<int>; // C2933
};
struct TC2 { };
struct MyStruct2 {
typedef int TC2;
};
L’erreur C2933 peut également se produire lors de l’utilisation de génériques :
// 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;
};