各位大侠:
小弟最近正在学习c++,其中template部分写了个程序,可是老是出错,不知为什么?整整搞了一天,只好向各位请教了,谢谢!
Node.h文件
[code:1]ifndef NODE_H
#define NODE_H
#include <cstdlib>
template<class T>
class Node
{
public:
//data为公有成员
T data;
//构造函数
Node(const T item);
~Node();
void Print();
protected:
private:
//指向下一个节点的指针
Node<T> *next_ptr;
};
#endif // NODE_H
[/code:1]
Node.cpp文件
[code:1]#include "node.h"
#include <iostream>
template <class T>
Node<T>::Node(const T item)
{
//ctor
data=item;
next_ptr=NULL;
}
template<class T>
Node<T>::~Node()
{
//dtor
}
template <class T>
void Node<T>::Print()
{
std::cout<<data;
}
[/code:1]
main.cpp文件
[code:1]#include <iostream>
#include "node.h"
#include <cstdlib>
int main()
{
std::cout << "Hello world!" << std::endl;
Node<int> intnode(5);
intnode.Print();
return 0;
}
[/code:1]
gcc编译出错:
引用:
undefine reference to “Node<int>::Node(int)”
新手求助,谢谢!