Ho una struttura con molti membri dello stesso tipo, come questo
struct VariablePointers {
VariablePtr active;
VariablePtr wasactive;
VariablePtr filename;
};
Il problema è che se dimentico di inizializzare uno dei membri struct (ad es. wasactive
), In questo modo:
VariablePointers{activePtr, filename}
Il compilatore non si lamenterà, ma avrò un oggetto parzialmente inizializzato. Come posso prevenire questo tipo di errore? Potrei aggiungere un costruttore, ma duplicerebbe due volte l'elenco di variabili, quindi devo digitare tutto questo tre volte!
Aggiungi anche le risposte C ++ 11 , se esiste una soluzione per C ++ 11 (attualmente sono limitato a quella versione). Anche gli standard linguistici più recenti sono benvenuti!
-Wmissing-field-initializers
flag di compilazione.