解决方法:首先去写“②普通类模板”,然后再实现 “①全特化”
此问题在测试 模板全特化 的时候发现:
如果首先去写 “①全特化”,然后再实现 “②普通类模板”,
编译器就会提醒:
error: ‘XXX’ is not a class template
①全特化
template<>
class data <int, char>
{
public:
st1() { printf("data<>\n"); }
};
②普通类模板
template<class A, class B>
class data
{
public:
data() { printf("data<A,B>\n"); }
};
int main()
{
data<int, char> s2;
data<int, int> s;
return 0;
}