可能重复:
为什么模板类的实现和声明应该在同一个头文件中?
我的头文件有
template <typename T>
class AA : public BB<T>
{
public:
AA()
{ ... }
Run Code Online (Sandbox Code Playgroud)
这工作正常.但我需要将构造函数实现与头文件分开.
所以在cpp,我有
template <typename T>
AA<T>::AA()
{ ... }
Run Code Online (Sandbox Code Playgroud)
当我编译它,它编译但我得到未解决的外部符号错误.我在这里错过了什么?
您可以使用以下方法在实现文件中显式实例化模板:
template class AA<int>;
Run Code Online (Sandbox Code Playgroud)
这将从模板生成定义,但仅当您知道类客户端将使用哪些类型时才有用
| 归档时间: |
|
| 查看次数: |
6821 次 |
| 最近记录: |