Erreur du compilateur C2477
'member' : le membre de données statique ne peut pas être initialisé par le biais d’une classe dérivée
Un membre de données statique d’une classe de modèle a été initialisé de manière incorrecte. Il s’agit d’un changement cassant avec les versions du compilateur Microsoft C++ antérieures à Visual Studio .NET 2003, afin de se conformer à la norme ISO C++.
L’exemple suivant génère l’erreur C2477 :
// C2477.cpp
// compile with: /Za /c
template <class T>
struct S {
static int n;
};
struct X {};
struct A: S<X> {};
int A::n = 0; // C2477
template<>
int S<X>::n = 0;
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour