神不在的星期二
template <class Type>struct listNode{Type number;listNode<Type> *link;}因为你的listNode是一个模版,只有给出具体的类型参数,编译器才能推导出具体的代码。你在使用中struct listNode<int> i;那么就得到了一个保存整数类型的节点,struct listNode<float> f; 就得到了一个保存浮点类型的节点f。如果你不给出类型,编译器怎么知道生成什么样子的代码呢。改写一般是这样子的template <class _Ty>class LinkedList{public:struct listNode{_Ty number;listNode<_Ty> *link;};typedef typename listNode<_Ty> * listNodePtr;public:LinkedList(){;};void addNode(_Ty node);......其他方法}用的时候LinkedList<int> list;LinkedList<int>::listNode node;LinkedList<int>::listNodePtr pNode;list.addNode(node);