GCC принимает `constexpr struct {} s;`, но Clang отклоняет его. Кто прав?C++

Программы на C++. Форум разработчиков
Anonymous
GCC принимает `constexpr struct {} s;`, но Clang отклоняет его. Кто прав?

Сообщение Anonymous »


Следующий код отлично компилируется с GCC:

constexpr struct {} s; Но Clang отклоняет его со следующей ошибкой:

ошибка: инициализация по умолчанию объекта константного типа «const struct (anonymous struct at…)» без предоставленного пользователем конструктора по умолчанию

Я протестировал все версии GCC и Clang, которые смог найти на https://gcc.godbolt.org/. Каждая версия GCC принимает код, а каждая версия Clang его отклоняет.

Интересно, какой компилятор прав в данном случае?
Что говорит об этом стандарт?

Вернуться в «C++»