C++ 模板或运算符?

标签 c++ templates

所以我需要在模板的参数中使用类似 OR 运算符的东西, 例如我想执行以下操作:

template <typename T, typename F,
typename = std::enable_if<
!std::is_same<T, Node>::value> or !std::is_same<F, Node>::value>>

换句话说,当 TF 模板类之一不是 Node 时,我需要该函数存在。

但目前这给我编译错误。

PS:我已经编辑了原始问题以使其更清楚。

最佳答案

如果您需要像 or 运算符这样的东西,那就使用它吧!

std::enable_if<a || b>::type // <-- why wouldn't this work?

这是一个例子 coliru

关于C++ 模板或运算符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40283527/

相关文章:

c++ - 具有多个参数的访问者模式

c++ - RAII 与异常

c++ - 具有反向和 pop/push_back 成本的 STL vector

c++ - 为什么 C++11 类型特征不是别名模板?

c++ - 类模板 - 找不到合适的运算符方法

c++ - 如何知道sqlite中的函数 'callback'是否返回了某些内容?

c++ - 使用 cmake 制作项目源目录的头文件后代

python - 为什么我没有加载 jinja 继承的头部部分?

c++ - 将命令添加到与两个类的公共(public)方法关联的实例管理器

c++ - 调用类模板的成员函数模板