我有一个班级MyClass<size_t, type>
我想使用std::is_same
和std::conditional
添加条件模板实例化。
但是,第一个参数的两种类型都相同且为size_t
正如预期MYSIZE1
和MYSIZE2
相同时,class<MYSIZE,int>
会出错。
如果考虑到唯一的变化是模板参数的值,我该如何执行这种条件编译?
template class MyClass<
std::conditional< (!std::is_same<MyClass<MYSIZE1,int>,
MyClass<MYSIZE2,int>
>::value),
MyClass<DUMMYSIZE,int>,
Myclass<MYSIZE1, int>
>::type,
int>;
这显然不起作用,因为条件返回MyClass类型。