要求模板变量为空的语法是什么?
What is the syntax to require a template variable to be void?
有没有办法编写 requires requires
表达式来理解模板参数是否为空?
我认为将 std::is_void_v<ParmThree>
的值作为模板的参数是合法的。但是,我无法制定语法来检查要求中的这一点 - 是真还是假。
可能吗?怎么做到的?
requires requires
起作用是因为嵌套的(第二个)requires
returns a bool.
因为你已经有一个布尔值,你可以做 requires std::is_void_v<T>
:
template <typename T>
requires std::is_void_v<T>
struct A {};
有没有办法编写 requires requires
表达式来理解模板参数是否为空?
我认为将 std::is_void_v<ParmThree>
的值作为模板的参数是合法的。但是,我无法制定语法来检查要求中的这一点 - 是真还是假。
可能吗?怎么做到的?
requires requires
起作用是因为嵌套的(第二个)requires
returns a bool.
因为你已经有一个布尔值,你可以做 requires std::is_void_v<T>
:
template <typename T>
requires std::is_void_v<T>
struct A {};