#include <iostream>
using namespace std;
struct Node{
int data;
Node* next;
};
void deletelist(Node*&head)
{
Node* temp=new Node;
temp=head;
while(head!=NULL)
{
head=head->next;
delete(temp);
temp=head;
}
}
int main() {
Node aman={1,NULL},manjot={2,&aman},sima={3,&manjot},jasbir={4,&sima};
Node* head=&jasbir;
deletelist(head);
return 0;
}
爲什麼這是顯示運行時錯誤(delete(temp);函數在這裏不工作,但爲什麼)?鏈接列表中的運行時錯誤
你沒有合理分配,但解除分配。 – Ajay
您試圖取消分配(即刪除)變量,該變量在第一個地方從未分配(即新)。 – gjha
順便說一句,你不需要'deletelist',因爲所有的變量一旦範圍結束就會被銷燬。 – gjha