Partager via


Erreur du compilateur C2939

'class' : type-class-id redéfini en tant que variable de données locale

Vous ne pouvez pas utiliser une classe générique ou modèle comme variable de données locale.

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

Cette erreur peut être provoquée par une mise en correspondance incorrecte des accolades.

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

// C2939.cpp
template<class T>
struct TC { };
int main() {
   int TC<int>;   // C2939
   int TC;   // OK
}

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

// C2939b.cpp
// compile with: /clr
generic<class T>
ref struct GC { };

int main() {
   int GC<int>;   // C2939
   int GC;   // OK
}