我正在尝试使用模板实现一个通用队列。
我的标题中有以下代码:
template<class Item>
class Queue{
protected:
struct linked_list;
int size;
public:
Queue();
Queue(Item T);
};
我有一个 Queue.cpp:
template<class Item>
Queue<Item>::Queue()
{
}
template<class Item>
Queue<Item>::Queue(Item T)
{
}
但是每次编译时,由于未解决的外部问题,我都会收到链接器错误。
我重新安装了 VS2012 两次(认为链接器已损坏),但问题不断出现。
我读到在使用模板时函数实现在单独的文件中存在一些问题,但除了将实现放在标题中之外,我没有看到任何解决方案。
有没有更优雅的方式来做到这一点?