Неоднозначность вывода аргументов шаблона класса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 | с (целое) {} | ^
Ответить

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

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

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

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

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