在我的項目中,我試圖製作一個鏈接列表的副本,然後顯示其內容。目前我有它的工作,但每次我嘗試退出程序崩潰。我刪除了在程序主要部分中使用的拷貝構造函數的實例,所以問題似乎來自那裏。下面是代碼:使用帶鏈接列表的複製構造函數
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