#include "stdafx.h" using namespace std; template <class Type> class Queue { public: Queue(); Type& front(); const Type& front() const; void push(const Type&); void pop(); bool empty() const; private: //... }; int _tmain(int argc, _TCHAR* argv[]) { Queue<int> qi; Queue< vector<double> > qc; Queue<string> qs; getchar(); return 0; }
error LNK2019: 无法解析的外部符号 "public: __cdecl Queue<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > >::Queue<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > >(void)" (??0?$Queue@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@QEAA@XZ),该符号在函数 wmain 中被引用
error LNK2019: 无法解析的外部符号 "public: __cdecl Queue<class std::vector<double,class std::allocator<double> > >::Queue<class std::vector<double,class std::allocator<double> > >(void)" (??0?$Queue@V?$vector@NV?$allocator@N@std@@@std@@@@QEAA@XZ),该符号在函数 wmain 中被引用
error LNK2019: 无法解析的外部符号 "public: __cdecl Queue<int>::Queue<int>(void)" (??0?$Queue@H@@QEAA@XZ),该符号在函数 wmain 中被引用
什么问题???
template <class Type>
class Queue
{
public:
Queue(){}
Type& front(){ }
const Type& front() const{}
void push(const Type&){}
void pop(){}
bool empty() const{}
private:
//...
};
把类的定义和实现放在同一个文件里