模板类的条件实例化

时间:2018-06-07 22:51:30

标签: c++11 templates std

我有一个班级MyClass<size_t, type> 我想使用std::is_samestd::conditional添加条件模板实例化。

但是,第一个参数的两种类型都相同且为size_t 正如预期MYSIZE1MYSIZE2相同时,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类型。

0 个答案:

没有答案