我写了一个指针类,在node.h中,但是编译时出现错误:
template<class T>class Node
{
private:
//next为指向下一结点的指针
Node<T>*next;
public:
//data为公有成员
T data; Node(const T& item,Node<T>*ptrnext=NULL);
//修改表的方法
void InsertAfter(Node<T>*p);
Node<T> DeleteAfter(void); //保持下一结点的指针
Node<T> *NextNode(void)const;
};
Node<T>::Node(const T&item,Node<T>* ptrnext):     //这一行出现错误    d:\program files\microsoft visual studio\myprojects\linkedlist\node.h(22) : error C2065: 'T' : undeclared identifierdata(item),next(ptrnext){}Node<T> *Node<T>::NextNode(void)const
{
return  next;
}void Node<T>::InsertAfter(Node<T> *p)
{
p->next=next;
next=p;
}Node<T> *Node<T>::DeleteAfter()
{
//保持指向被删除结点的指针
Node<T>* tempPtr=next; //若没有后继结点,返回NULL
if(next==NULL)
return NULL; //使当前结点指向tempPtr的后继结点
next=tempPtr->next; //返回被删除结点的指针
return tempPtr;
}
这是怎么回事!!!