本文介绍了将构造函数实现与模板从头文件分离的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我的头文件有
template <typename T>
class AA : public BB<T>
{
public:
AA()
{ ... }
b $ b
这是工作正常。但我需要从头文件中分离构造函数的实现。
this is working fine. But I need to separate the constructor implementation from header file.
所以在cpp中,我有
template <typename T>
AA<T>::AA()
{ ... }
当我编译这个,它编译,但我得到未解决的外部符号错误。
When I compile this, it compiled but I get unresolved external symbol error. What am I missing here?
推荐答案
您可以使用以下方式在实现文件中显式实例化模板:
You can explicitly instantiate templates in your implementation file using :
template class AA<int>;
这将从模板生成一个定义,但它只有当你知道什么类型类客户将使用
this will generate a definition from a template, but it is of use only if you know what types your class clients will use
这篇关于将构造函数实现与模板从头文件分离的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!