难道是vs2005编译器的bug?
chiny 2006-10-11 12:17:06 //declarition
template <typename T>
class M
{
public:
void hello();
};
//definition
template <typename T>
void M<T>::hello()
{
cout << "Hello,M!" <<endl;
}
//invoking
int _tmain(int argc, _TCHAR* argv[])
{
M<int> m;
m.hello();
return 0;
}
没有问题。
现在把declarition 和definition分别放到m.h和m.cpp,然后编译,总是提示:
lifesting.obj : error LNK2019: 无法解析的外部符号 "public: void __thiscall M<int>::hello(void)" (?hello@?$M@H@@QAEXXZ),该符号在函数 _wmain 中被引用
意思大概是找不到定义。
怎么回事?谢谢。