提问人:Opal Koren 提问时间:9/11/2018 最后编辑:melpomeneOpal Koren 更新时间:9/11/2018 访问量:92
未解决的外部符号错误相关类与模板 [duplicate]
Unresolved external symbol error related class with template [duplicate]
问:
我制作了以下代码:
项目.h:
#include <iostream>
using namespace std;
template <class T>
class Item
{
private:
Item<T> * next;
Item<T> * prev;
T * data;
public:
Item(T * pData = NULL);
~Item();
};
我还制作了 Item.cpp:
#include "Item.h"
template<class T>
Item<T>::Item(T * pData) : data(pData), next(NULL), prev(NULL) {}
template<class T>
Item<T>::~Item() {}
这是主要的:
#include "Item.h"
int main()
{
int * s1 = new int(5);
Item<int> * i = new Item<int>(s1);
system("pause");
return 0;
}
当我尝试将 Item.h 与 Item.cpp 分开时(如果我不写声明),我收到此错误:
Error LNK2019 unresolved external symbol "public: __thiscall Item<int>::Item<int>(int *)" (??0?$Item@H@@QAE@PAH@Z) referenced in function _main.
答: 暂无答案
上一个:为什么模板只能在头文件中实现?
下一个:模板化方法的未解析符号专用化
评论
Item<int>