Saya memiliki struct dengan banyak anggota dengan tipe yang sama, seperti ini
struct VariablePointers {
VariablePtr active;
VariablePtr wasactive;
VariablePtr filename;
};
Masalahnya adalah jika saya lupa menginisialisasi salah satu anggota struct (mis wasactive
), seperti ini:
VariablePointers{activePtr, filename}
Kompiler tidak akan mengeluh tentang hal itu, tetapi saya akan memiliki satu objek yang sebagian diinisialisasi. Bagaimana saya bisa mencegah kesalahan semacam ini? Saya bisa menambahkan konstruktor, tetapi itu akan menduplikasi daftar variabel dua kali, jadi saya harus mengetik semua ini tiga kali!
Harap juga tambahkan jawaban C ++ 11 , jika ada solusi untuk C ++ 11 (saat ini saya terbatas pada versi itu). Namun, standar bahasa yang lebih baru juga diterima!
-Wmissing-field-initializers
bendera kompilasi.