struct some_struct{
int a;
};
some_struct n = {};
n.a sera 0 après ceci; Je sais que cette forme d'initialisation est héritée de C et est supportée pour la compatibilité avec les programmes C, mais cela ne se compile qu'avec C++, pas avec le compilateur C. J'utilise Visual C++ 2005.Initialisation explicite de membres de structure/classe
En C ce type d'initialisation
struct some_struct n = {0};
est correcte et sera zéro-initialiser tous les membres d'une structure.
La paire d'accolades vide est-elle une norme d'initialisation? J'ai d'abord vu cette forme d'initialisation dans un tutoriel WinAPI de msdn.
L'initialisation avec '{0}' est également valide pour C89. – jamesdlin