有兩段代碼,我似乎無法找到該錯誤。我知道這些內容有問題。每個一個。C++在與鏈接列表相關的代碼中查找錯誤
int pop()
{
Node* temp = new Node();
temp = tail;
tail->prev()->setNext(NULL);
int tempV = temp->key();
delete temp;
return tempV;
}
另一段代碼是這樣的:
int main()
{
Node* t = new Node(0,NULL);
t = Node(1,t);
t = Node(2,t);
delete t;
}
我想到了2塊的代碼一段時間。對於第一段代碼,我認爲錯誤是你不應該在關鍵字new
的堆上創建Node * temp。它應該是Node* temp = tail
;我相信。任何人都可以證實嗎?
對於第二一段代碼,我認爲錯誤是,你並不需要同時
t = Node(1,t);
t = Node(2,t);
編輯::我很抱歉,我犯了一個錯誤。它應該是節點而不是節點。我的朋友告訴我,它必須用記憶做些事情。它有一個內存泄漏,因爲多個節點被聲明爲新的?或者我們是否需要最後2個關鍵字?
感謝
'node(int,Node *)'做什麼? – Beta
你能展示'node()'函數的實現嗎? – Dinesh