Неоднозначность вывода аргументов шаблона классаC++

Программы на C++. Форум разработчиков
Anonymous
Неоднозначность вывода аргументов шаблона класса

Сообщение Anonymous »


Соответствует ли следующий пример кода стандарту C++20 или его следует отклонить из-за неоднозначного вывода?

шаблон структура s { s(int) требует true {} с (целое) {} }; static_assert(not noException(s{int{}})); // лязг нет, gcc ок, msvc ок Живой пример

Сообщение об ошибке от Clang:
:6:28: ошибка: неоднозначный вывод для аргументов шаблона 's' 6 | static_assert(not noException(s{int{}})); | ^ :3:5: примечание: функция-кандидат [с $0 = ] 3 | s(int) требует true {} | ^ :4:5: примечание: функция-кандидат [с $0 = ] 4 | с (целое) {} | ^

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