1
A
回答
1
我懷疑有人願意閱讀所有這些代碼,併爲您找到缺陷,尤其是在缺少MCVE的情況下。乍看之下有一些明顯錯誤的功能void erase(iterator it)
left->next_ = right;
right->prev_ = left;
你沒有,如果任正確檢查或左爲空,如果你刪除在開始發生或者在列表的末尾。您也應相應地修改列表front_
和back_
。
可以將這些任務之前增加一個檢查:
if(left)
left->next_ = right;
else
front_ = right;
if(right)
right->prev_ = left;
else
back_ = left;
+0
評論不適合長時間討論;這個對話已經[轉移到聊天](http://chat.stackoverflow.com/rooms/136673/discussion-on-answer-by-ash-bug-in-my-erase-function-for-linked-list) 。 –
相關問題
- 1. 錯誤調試鏈接列表函數上的分段錯誤
- 2. C - 分段錯誤 - 鏈接列表的插入錯誤函數
- 3. 鏈接列表的單個函數mergesort中的段錯誤
- 4. 擦除一系列錯誤
- 5. 鏈接列表實現中的錯誤
- 6. 鏈接列表中的分段錯誤
- 7. 鏈接列表中的錯誤
- 8. 鏈接列表中的指針錯誤?
- 9. 刪除雙列表鏈接列表的函數C++
- 10. 鏈接列表錯誤,C++
- 11. 鏈接列表C錯誤
- 12. 鏈接列表函數?
- 13. 鏈接列表(C++)的分段錯誤
- 14. 鏈接列表Front()函數語法錯誤
- 15. 在我的代碼中找不到鏈接列表隊列中的錯誤
- 16. 從鏈接列表中刪除數據
- 17. OCaml:列表函數中的錯誤
- 18. 地圖擦除錯誤
- 19. 矢量擦除錯誤
- 20. 爲什麼我的鏈接列表代碼導致鏈接錯誤?
- 21. 刪除鏈接列表中的節點
- 22. 刪除鏈接列表中的元素
- 23. 刪除鏈接列表中的節點
- 24. 隊列鏈接列表出隊函數
- 25. 修剪/擦除/移除鏈接與正則表達式
- 26. 從鏈接列表中獲取並從鏈接列表中刪除結果出現分段錯誤
- 27. 鏈接列表中的差異方法輸出錯誤的數字,並排除我想要的?
- 28. 我將如何清除鏈接列表?
- 29. C錯誤鏈接列表 - 無效的Initalizer錯誤
- 30. 爲什麼我一直在爲我的鏈接列表的複製構造函數發生分段錯誤?
你應該提供問題的一個最小的再現,這是太多的代碼。 – Kelm
有2個參數擦除功能的問題,我不知道它是什麼 – bb13
一旦打印「第7行測試」程序崩潰,並且永遠不會到達主線 – bb13