急:C++类模板问题

来源:百度知道 编辑:UC知道 时间:2024/05/22 00:18:59
template <class T2>
class List;
template <class T1>
class ListNode
{
friend class List<T1>;
ListNode()
{
link=NULL;
}
ListNode(T1 item)
{
data=item;
link=NULL;
}
private:
T1 data;
ListNode<T1> *link;
};
template <class T2>
class List{
public:
List(){last=first=NULL;}
//shirtList(shirt value){last=first=new shirtListNode(value);
//last->link=NULL;}//程序中未用到
void Insert(T2 value)
{
ListNode<T2> *p=new ListNode(value);
if(first==NULL){
first=last=p;
}
else{
last->link=p;
last=p;}
}}
编译有错::\Documents and Settings\Owner\桌面\软件课程\软件课程\test24.cpp(286) : error C2955: 'ListNode' : use of class template requires template argument list
C:\Documents and Settings\Owner\桌面\软件课程\软件课程&

你的程序里仿佛有好几个类呢啊!
error C2955: 'ListNode' : use of class template requires template argument list
类的每个成员函数的实现前也要有模板声明
ListNode<T1> *link; 这个因为是在类的声明里面所以用ListNode *link;就行了