我想实现一个通用的Queue类。 模板类看起来像: Queue.hC++未定义的函数参考
template <class T>
class Queue {
public:
Queue() {}
~Queue() {}
...
void enqueue(const T& e);
T dequeue(void);
int Size(void) const { return s1.size() + s2.size();}
private:
std::stack<T> s1;
std::stack<T> s2;
};
#include "Queue.cpp"
和执行它看起来像:
Queue.cpp:
#include "Queue.h"
template <class T>
void Queue<T>::enqueue(const T& e)
{
//...
}
template <class T>
T Queue<T>::dequeue()
{
//...
}
我的问题是,我不能打电话这个类的一些函数,我在Queue.cpp文件中实现了。
main.cpp中:
int main() {
Queue<int> myQueue;
const int a = 1;
myQueue.enqueue(a);
myQueue.Size();
return 0;
}
我总是成为follwing埃罗: 未定义参考到队列::入列(INT常量&)
[错误] LD返回1个退出状态
Makefile.winrecipe用于目标'MYQueue.exe'失败
我包括根据这个职位,实施文件在标题的结尾。现在我成为错误:[错误]重新定义'队列 ::队列(常量队列&)'等... –
user3605330