Partager via


Erreur du compilateur C2937

'class' : type-class-id redéfini en tant que typedef global

Vous ne pouvez pas utiliser une classe générique ou de modèle en tant que classe globale typedef.

Cette erreur est obsolète dans Visual Studio 2022 et versions ultérieures.

L’exemple suivant génère l’erreur C2937 :

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

L’erreur C2937 peut également se produire lors de l’utilisation de génériques :

// C2937b.cpp
// compile with: /clr
generic<class T>
ref struct GC { };
typedef int GC<int>;   // C2937
typedef GC<int> xx;   // OK