我在调用我的模板类时遇到问题。
我声明了一个新的类型名称Array,它是一个模板;
在 .hpp 文件中:
template <typename T>
class Array
{
public:
Array();
};
在.cpp 文件中:
template <typename T>
Array<T>::Array()
{
//Do something
}
In main:
Array<int> arr;
我收到链接错误:无法解析的外部符号到构造函数。
任何想法?
模板函数,包括成员函数,必须完全写在头文件中。这意味着如果您有一个模板类,它的实现必须完全在头文件中。这是因为编译器需要访问整个模板定义(而不仅仅是签名),以便为模板的每个实例化生成代码。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)