Các Clang documentation gọn gàng giải thích rằng Nếu một lớp hoặc struct không có người dùng định nghĩa constructor mặc định, C++ không cho phép bạn để mặc định xây dựng một trường hợp const của nó nh
In class initialization feature, cho phép khởi tạo các thành viên bình thường bên trong lớp đó, struct A {
int a = 0; // error: ISO C++ forbids in-class initialization of non-const static member
Minimal mã ví dụ: struct B {
union U {
struct S {} s;
int i = 100;
}
u;
};
Bây giờ nếu chúng ta khai báo một B obj; thì obj.u.i được gán một giá trị rác thay vì 100. Xem số