为什么我不能使用模板类专门化类模板?

时间:2015-03-06 18:24:26

标签: c++ class templates

为什么不允许以下部分专业化?该类专门用于模板化类:

template <class T>
class ClassT{};

template<class F>
class ClassF{};

//error here
template<>
template <class T>
class ClassF <ClassT<T> >{};

int main(int argc, char* argv[])
{
    ClassF<ClassT<int> > ftx; //no error
}

错误:

tester.cpp(8): error C2910: 'ClassF<ClassT<T>>' : cannot be explicitly specialized

1 个答案:

答案 0 :(得分:0)

我遇到的最初问题是我忘了包括我想要专攻的课程的标题!当然,这将永远不会有效,但错误信息不够明确:我没有得到undefined identifier或类似的更有用的东西。这就是为什么我在摆弄语法,尝试template<>技巧等等。