Вывод аргументов шаблона класса для std::initializer_list?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Вывод аргументов шаблона класса для std::initializer_list?

Сообщение Anonymous »

Следующий код

Код: Выделить всё

#include 
using namespace std::string_view_literals;
#include 

int main() {
std::initializer_list svs{
"Meow"sv,
"Woof"sv
};
}
компилируется всеми версиями GCC (по крайней мере, начиная с 8.2), но отклоняется всеми версиями clang до 18 включительно. Однако clang 19 компилирует его.https://godbolt.org/z/TPzqEssMs
На мой взгляд, это похоже на инициализацию прямого списка (здесь случай 1).Учитывая, что поведение clang изменилось, я подозреваю, что это ошибка clang, которая была исправлена ​​(и поскольку clang теперь ее принимает, это не должен быть ужасный IFNDR). Может ли кто-нибудь подтвердить или опровергнуть это? Быстрый поиск по проблемам с звуком не нашел ничего, что могло бы относиться к этой ситуации.

Подробнее здесь: https://stackoverflow.com/questions/793 ... lizer-list
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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