具有非模板化类的 C++ 类模板?

标签 c++ templates

编译以下代码

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/

相关文章:

c++ - operator= 结合 new 运算符的使用

C++类类型数组

java - 拦截应用程序发出的套接字调用并将其映射到自定义套接字

c++ - 创建共享库时发生核心转储

c++ - 为什么类 std::weak_ptr 没有运算符 <?

c++ - 模板 : How to select smallest int type which holds n bits?

c++ - 模板参数中的类指针 - 这有什么用?

c++ - 如何制作具有自定义移位值的模板

c++ - 如何检查是否为 C++ 中的模板定义了特定运算符?

javascript - handlebar.js 和 handlebar.runtime.js 有什么区别?