Có thể có một liên minh ẩn danh với các thành viên const không? Tôi có những điều sau đây:Người xây dựng và liên danh vô danh với các thành viên const
struct Bar {
union {
struct { const int x, y; };
const int xy[2];
};
Bar() : x(1), y(2) {}
};
Với G ++ 4.5 Tôi nhận được lỗi:
error: uninitialized member ‘Bar::<anonymous union>::xy’ with ‘const’ type ‘const int [2]’
'struct {const int x, y; }; 'không hợp lệ C++. Bạn đang hỏi liệu bạn có thể làm điều gì đó với GCC? –
Tại sao nó không hợp lệ? Liệu nó có cần một constructor với một danh sách khởi tạo không? – user2023370
Công tắc GCC -pedantic có vẻ hữu ích. "ISO C++ cấm các cấu trúc ẩn danh" nó nói. Nếu tôi xóa 'const' ở trên, tôi nhận được cảnh báo tương tự. – user2023370