假设我们有两种类型
using t1 = int*; using t2 = int*;
Run Code Online (Sandbox Code Playgroud)
我知道那std::is_same<t1, t2>::value会给我们带来true。什么是,或者说,有没有一个模板工具可以实现以下功能?
tool<t1, t2>::value == false;
tool<t1, t1>::value == true;
Run Code Online (Sandbox Code Playgroud)
我想说这可能是不可能的,但我不是 C++ 专家。
据推测,该工具可以在模板函数中使用,如下所示
using allowed = int*;
using not_allowed = int*;
template <class T>
void f(T var) {
static_assert(tool<T, allowed>::value &&
tool<T, not_allowed>::value == false, "");
}
Run Code Online (Sandbox Code Playgroud)
谢谢!
c++ ×1