【发布时间】:2009-03-13 20:05:13
【问题描述】:
我有一个我不太明白的问题。我有一个类节点。
template<class T>
class node {
protected:
T _data;
public:
node(T data);
};
这是在“node.h”文件中。在“node.cpp”文件中,有这个构造函数:
#include "node.h"
template<class T>
node<T>::node (T data) {
_data = data;
}
虽然编译器没有发现错误,但链接器 (ld) 告诉我:
/usr/bin/ld:未定义符号:
节点
::node(int)
奇怪的部分...如果我将构造函数从 .cpp 移动到 .h 文件,一切正常。问题出在哪里?
【问题讨论】: