一个模板类的链接问题(相信学习模板编程的人都应该遇到过),请高手相助!!!
定义了一个模板类:
template<class T>
class CMessage
{
public:
T m_stMsg;
public:
CMessage();
CMessage(const CMessage& msg);
~CMessage();
public:
int Initialize(void);
void Cleanup(void);
...
}
在另一个类中作如下调用:
CMessage<stMsg1> m_Message;
m_Message.Initialize();
stMsg1为一结构体类型.
编译通过,但在链接时出现下列错误:
Undefined first referenced
symbol in file
CMessage<stMsg1>::~CMessage(void) ctest.o
CMessage<stMsg1>::CMessage(void) ctest.o
CMessage<stMsg1>::Initialize(void) ctest.o
ld: fatal: Symbol referencing errors. No output written to test
.
软件环境: redhat 7.1 ,g++
请各位高手相助!!!