Tôi có một cấu trúc với nhiều thành viên cùng loại, như thế này
struct VariablePointers {
VariablePtr active;
VariablePtr wasactive;
VariablePtr filename;
};
Vấn đề là nếu tôi quên khởi tạo một trong các thành viên cấu trúc (ví dụ wasactive
), như thế này:
VariablePointers{activePtr, filename}
Trình biên dịch sẽ không phàn nàn về nó, nhưng tôi sẽ có một đối tượng được khởi tạo một phần. Làm thế nào tôi có thể ngăn chặn loại lỗi này? Tôi có thể thêm một hàm tạo, nhưng nó sẽ nhân đôi danh sách biến hai lần, vì vậy tôi phải gõ tất cả ba lần này!
Vui lòng thêm câu trả lời C ++ 11 , nếu có giải pháp cho C ++ 11 (hiện tại tôi bị giới hạn ở phiên bản đó). Nhiều tiêu chuẩn ngôn ngữ gần đây cũng được chào đón!
-Wmissing-field-initializers
cờ tổng hợp.