c++模板OR操作符
C++ template OR operator?
所以我需要一个类似于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:我已经编辑了原来的问题,使它更清楚。
如果您需要类似于或操作符的东西,那么就使用它!
std::enable_if<a || b>::type // <-- why wouldn't this work?
下面是coliru
您可以使用std::disjunction
std::enable_if<std::disjunction<a, b>::value>
但是,正如评论中提到的,a
和b
必须是constexpr
,而不是只有在运行时才知道的值。
相关文章:
- 瓦尔格林德:数学函数"Conditional jump or move depends on uninitialised value(s)"
- C++核心准则 C35 对于接口类"A base class destructor should be either public and virtual, or protected and nonv
- 使用模板进行堆栈实现; "name followed by :: must be a class or namespace"
- Android NDK clang 编译器错误在 Windows 上显示'No such file or directory'
- 模式"allocate memory or use existing data"
- N-API include an .so or dll
- 已解决 - C++ 的崇高文本中的"fatal error: opencv: no such file or directory"
- 将 OR 逻辑运算符从 C++ 转换为 Fortran
- CPP 中的瓦尔格林德和记忆泄漏:"Conditional jump or move depends on uninitialised values"
- 我如何将 OR 与 if 语句一起使用字符串
- 将 if 语句中的字符与 or 进行比较
- Google Or-Tools Glop:如何创建指向 const 对象的指针数组?
- 当初始值设定项是基类名时'initializer does not name a non-static data member or base class'错误
- "No such file or directory" C++标头问题
- 处理 std::enable_if<...中谓词的逻辑"OR">
- C++ 虽然语句不适用于字符串和"or"
- 我在 #include < bits/stdc++h.> 放置时出错"No such file or directory"
- c++模板OR操作符
- if语句检查每个OR操作符
- 检查IF语句中的多个OR操作符