在我的项目中,我试图制作一个链接列表的副本,然后显示其内容。目前我有它的工作,但每次我尝试退出程序崩溃。我删除了在程序主要部分中使用的拷贝构造函数的实例,所以问题似乎来自那里。下面是代码:使用带链接列表的复制构造函数
struct ListNode{
int num;
struct ListNode *next;
};
ListNode *head;
List::List(const List& org){
ListNode *copy=org.head;
ListNode *temp;
if(copy==NULL){
head=NULL;
}
else{
head=copy;
while(copy!=NULL){
temp=new ListNode;
temp->num=copy->num;
temp=temp->next;
copy=copy->next;
}
}
}
请注意,我知道有些括号{}是一个小关程序本身的工作,直到我试图退出,所以我不知道我怎么会阻止该程序崩溃?
不要在C++ 11中使用'或',它被定义为'||',在C++中有一些(我忘记了名字)'<---'注意缺少11 ,一般在C++中;像':['是键入'{'或其他的东西,我从来没有用过它们,但它们在那里! –
为什么拷贝构造函数必须处理全局变量'head'?复制构造函数必须改变'this'的状态。 – Mahesh
头部变量是复制构造函数分开的类的一部分 – user2340686