能帮我调试下这个程序吗?死活不会调了。。

来源:百度知道 编辑:UC知道 时间:2024/06/30 15:56:04
#define NULL 0;
#include<iostream>

using namespace std;
template<class T>
class List{
public:
List()
{
pFirst=NULL;
}
//构造函数
void Add(T & t2)
{
Node *p;
if(pFirst==NULL)
{
p=new Node;
p->pT=new T;
*(p->pT)=t2;
p->pNext=NULL;
pFirst=p;
}
else
{
p=new Node;
p->pNext=pFirst;
p->pT=new T;
*(p->pT)=t2;
pFirst=p;
}
}; //在Link表头添加新结点
void Remove(T & t2)
{
Node *p,*q;
p=pFirst;
if(pFirst==NULL)
{
cout<<"The List is NULL\n";
return ;
}
else if
{
(*(pFirst-&g

我错了,我回答问题时把一个半成品交了。现附上完整源程序,如果再有问题
发信息即可,保证解决
template<class T>
class List{
public:
List(){
pFirst=NULL;
}
//构造函数
void Add(T & t2){
Node *p;
if(pFirst==NULL){
p=new Node;
p->pT=new T;
*(p->pT)=t2;
p->pNext=NULL;
pFirst=p;
}
else{
p=new Node;
p->pNext=pFirst;
p->pT=new T;
*(p->pT)=t2;
pFirst=p;
}
} //在Link表头添加新结点
void Remove(T & t2){
Node *p,*q;
p=pFirst;
if(pFirst==NULL){
cout<<"The List is NULL\n";
return ;
}
else{
if(*(pFirst->pT)==t2){
~~~~~~~~~~~~~~~~~~~~~~~~~~~~这里改了
p=pFirst;
pFirst=pFirst->pNext;
delete p->pT;
delete p;
}
else {
p=pFirst;
while(*(p->pT)!=t2){
q=p;
p=p->pNext;
}
q->pNext=p->pNext;
delete p->pT;
delete p;