所以我需要在模板的参数中使用类似 OR 运算符的东西, 例如我想执行以下操作:
template <typename T, typename F,
typename = std::enable_if<
!std::is_same<T, Node>::value> or !std::is_same<F, Node>::value>>
换句话说,当 T
和 F
模板类之一不是 Node
时,我需要该函数存在。
但目前这给我编译错误。
PS:我已经编辑了原始问题以使其更清楚。
最佳答案
如果您需要像 or 运算符这样的东西,那就使用它吧!
std::enable_if<a || b>::type // <-- why wouldn't this work?
这是一个例子 coliru
关于C++ 模板或运算符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40283527/