GCC принимает `constexpr struct {} s;`, но Clang отклоняет его. Кто прав? ⇐ C++
-
Anonymous
GCC принимает `constexpr struct {} s;`, но Clang отклоняет его. Кто прав?
Следующий код отлично компилируется с GCC:
constexpr struct {} s; Но Clang отклоняет его со следующей ошибкой:
ошибка: инициализация по умолчанию объекта константного типа «const struct (anonymous struct at…)» без предоставленного пользователем конструктора по умолчанию
Я протестировал все версии GCC и Clang, которые смог найти на https://gcc.godbolt.org/. Каждая версия GCC принимает код, а каждая версия Clang его отклоняет.
Интересно, какой компилятор прав в данном случае?
Что говорит об этом стандарт?
Следующий код отлично компилируется с GCC:
constexpr struct {} s; Но Clang отклоняет его со следующей ошибкой:
ошибка: инициализация по умолчанию объекта константного типа «const struct (anonymous struct at…)» без предоставленного пользователем конструктора по умолчанию
Я протестировал все версии GCC и Clang, которые смог найти на https://gcc.godbolt.org/. Каждая версия GCC принимает код, а каждая версия Clang его отклоняет.
Интересно, какой компилятор прав в данном случае?
Что говорит об этом стандарт?
Мобильная версия