Các mã sau biên dịch tốt với GCC:GCC chấp nhận `constexpr struct {} s;` nhưng Clang từ chối nó. Ai là đúng?
constexpr struct {} s;
Nhưng Clang từ chối yêu cầu với các lỗi sau:
error: default initialization of an object of const type 'const struct (anonymous struct at …)' without a user-provided default constructor
Tôi đã kiểm tra tất cả các phiên bản của GCC và Clang rằng tôi đã có thể tìm thấy ở https://gcc.godbolt.org/. Mỗi phiên bản của GCC chấp nhận mã và mỗi phiên bản của Clang từ chối nó.
Tôi tự hỏi trình biên dịch nào là chính xác trong trường hợp này?
Tiêu chuẩn nói gì về điều này?
Thử dùng clang-3.9? –
[CWG253] (http://wg21.link/CWG253). –
@ T.C. http://stackoverflow.com/questions/29683381/const-t-works-const-t-fails-when-t-is-a-non-pod#comment47503814_29683381 – Columbo