编译以下代码
template<typename T>
class t1 {
};
class t1 {
};
出现以下错误
error: template argument required for ‘class t1’
自从我使用 C++ 深入研究模板以来已经有好几年了(我决定重新使用它并学习 C++ 11/14),所以我可能错了,但我认为这是合法的。
有人可以建议吗?如果你想做这样的事情,你会怎么做?
最佳答案
不,你不能这样做。
与函数模板不同,类模板不能被重载。 t1
已声明为类模板,您唯一能做的就是专门化它:
template <>
class t1<int> {
};
关于具有非模板化类的 C++ 类模板?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32857488/