¿Por qué los miembros de mi estructura no se inicializan correctamente con `{}`? [duplicar
Esta pregunta ya tiene una respuesta aquí:
C y C ++: inicialización parcial de la estructura automática 5 respuestasTuve el siguiente código:
#include <iostream>
struct T
{
int a, b, c;
};
int main()
{
T t = {0};
std::cout << t.a << ',' << t.b << ',' << t.c << '\n';
}
0,0,0
Después de muchos años de este código funcionando felizmente en un entorno de producción crítico, cumpliendo una función vital, los requisitos del proyecto cambiaron y necesitaba que la salida fuera1,1,1
.
Entonces, cambié{0}
a{1}
:
#include <iostream>
struct T
{
int a, b, c;
};
int main()
{
T t = {1};
std::cout << t.a << ',' << t.b << ',' << t.c << '\n';
}
1,0,0
Esperaba1,1,1
en su lugar.
¿Por qué mistruct
No se inicializan todos los miembros de @ correctamente?