Tengo una estructura con muchos miembros del mismo tipo, como este
struct VariablePointers {
VariablePtr active;
VariablePtr wasactive;
VariablePtr filename;
};
El problema es que si olvido inicializar uno de los miembros de la estructura (por ejemplo wasactive
), así:
VariablePointers{activePtr, filename}
El compilador no se quejará de ello, pero tendré un objeto que está parcialmente inicializado. ¿Cómo puedo evitar este tipo de error? Podría agregar un constructor, pero duplicaría la lista de variables dos veces, ¡así que tengo que escribir todo esto tres veces!
Agregue también las respuestas de C ++ 11 , si hay una solución para C ++ 11 (actualmente estoy restringido a esa versión). Sin embargo, los estándares de idiomas más recientes también son bienvenidos.
-Wmissing-field-initializers
bandera de compilación.