Avertissement du compilateur (niveau 1) C4269
'identifier' : les données automatiques 'const' initialisées avec le constructeur par défaut généré par le compilateur produisent des résultats non fiables
Une const
instance automatique d’une classe non triviale est initialisée avec un constructeur par défaut généré par le compilateur.
Exemple
// C4269.cpp
// compile with: /c /LD /W1
class X {
public:
int m_data;
};
void g() {
const X x1; // C4269
};
Étant donné que cette instance de la classe est générée sur la pile, la valeur initiale de m_data
peut être n’importe quoi. En outre, étant donné qu’il s’agit d’une const
instance, la valeur de m_data
ne peut jamais être modifiée.