我有一个类 A 和一个类模板 B 声明如下:
class A;
template <class T>
class B;
我想为 T=int 声明 B 的特化,它与 A 重合,即像这样
template<>
class B<int> = A;
最佳答案
您可以通过嵌套类和 C++11 模板别名模拟 B
的这种行为:
class A;
template <class T>
struct B_
{
class type{ /* Implement your general version of B here */ };
};
template <>
struct B_<int>
{
using type = A;
};
template <class T>
using B = typename B_<T>::type;
关于c++ - 使用给定类对类模板进行特化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28265212/