У мене є структура з багатьма членами одного типу, як це
struct VariablePointers {
VariablePtr active;
VariablePtr wasactive;
VariablePtr filename;
};
Проблема полягає в тому, що якщо я забуду ініціалізувати одного з членів структури (наприклад wasactive
), наприклад:
VariablePointers{activePtr, filename}
Компілятор не буде скаржитися на це, але у мене буде один об’єкт, який частково ініціалізований. Як я можу запобігти подібні помилки? Я міг би додати конструктор, але він би повторював перелік змінної двічі, тому мені потрібно вводити все це тричі!
Будь ласка, додайте відповіді на C ++ 11 , якщо є рішення для C ++ 11 (наразі я обмежений цією версією). Однак новіші мовні стандарти теж вітаються!
-Wmissing-field-initializers
прапор компіляції.