在vs.net 2003 的vc++.net 中的template<>的用法,请帮忙。。。
在test_3.cpp文件中定义了QueueItem class template,如下:
template <class t2, int nsize>
class QueueItem
{
friend int _tmain(int argc, _TCHAR* argv[]);
public:
QueueItem();
void Set(const t2 &ttt);
private:
t2 m_type;
};
template <class t2, int nsize>
QueueItem<t2, nsize>::QueueItem()
{
}
template <class t2, int nsize>
QueueItem<t2, nsize>::Set(const t2 &ttt)
{
m_type = ttt;
cout << "set m_type is successed!!!" << ttt << endl;
}
可以在main中调用时,代码如下:
int nnn(0);
QueueItem<int, 1> qqq;
qqq.Set(nnn);
运行时报link错:test_2.obj : error LNK2019: 无法解析的外部符号 "public: void __thiscall QueueItem<int,1>::Set(int const &)" (?Set@?$QueueItem@H$00@@QAEXABH@Z) ,该符号在函数 _main 中被引用
请问是.....