Aynı türden birçok üyeye sahip bir yapım var, böyle
struct VariablePointers {
VariablePtr active;
VariablePtr wasactive;
VariablePtr filename;
};
Sorun şudur ki, yapı üyelerinden birini (örneğin wasactive
) başlatmayı unutursam , şöyle:
VariablePointers{activePtr, filename}
Derleyici bundan şikayet etmeyecek, ancak kısmen başlatılan bir nesnem olacak. Bu tür bir hatayı nasıl önleyebilirim? Bir yapıcı ekleyebilirim, ancak değişken listesini iki kez çoğaltır, bu yüzden tüm bunları üç kez yazmak zorundayım!
C ++ 11 için bir çözüm varsa lütfen şu anda C ++ 11 cevaplarını ekleyin (şu anda bu sürümle sınırlıyım). Daha yeni dil standartları da kabul edilir!
-Wmissing-field-initializers
derleme bayrağı var.