Есть ли способ написать выражение requires requires
, чтобы понять, что параметр шаблона недействителен?
Я считаю допустимым сделать значение std::is_void_v<ParmThree>
параметром шаблона. Однако я не могу сформулировать синтаксис для проверки этого в требовании — на предмет истинности или ложности.
Является ли это возможным? Как это сделать?
requires requires
работает, потому что вложенный (второй) requires
возвращает логическое значение.
Поскольку у вас уже есть логическое значение, вы можете просто сделать requires std::is_void_v<T>
:
template <typename T>
requires std::is_void_v<T>
struct A {};
Благодарю вас! Это именно то, что я искал.