내 프로젝트에서 링크 된 목록의 복사본을 만들고 그 내용을 표시 할 수 있도록 프로젝트를 만들고 있습니다. 현재는 작동하지만 프로그램을 종료 할 때마다 충돌이 발생합니다. 문제가 거기에서 오는 것 같다 그래서 프로그램의 주요 부분에 사용되는 복사 생성자의 인스턴스를 제거했습니다.링크 된 목록의 복사 생성자 사용
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++에서는'?|'로 정의되어 있습니다. , 일반적으로 C++에서; ': ['는'{'또는 무엇인가를 타이핑하는 방법이고, 나는 그들을 사용한 적이 없다. 그러나 그들은 거기에있다! –
복사 생성자가 전역 변수'head'를 처리해야하는 이유는 무엇입니까? 복사 생성자는 'this'의 상태를 변경해야합니다. – Mahesh
head 변수는 복사 생성자가 떨어져있는 클래스의 일부입니다. – user2340686