我想實現一個通用的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