2012-01-29 37 views
0

刪除其持有的obj和鏈表我做的中間發現了一個節點:從鏈表中刪除節點的方法不正確?

traverser -> next() -> retrieve()) == obj 

其中

  1. Single_node<Type>* traverser = head();開始。
  2. retrieve()返回obj的存儲Single_node
  3. next()內部回報率在Single_node

這是給在檢索()不好的訪問錯誤的下一個指針

我不明白爲什麼..? 我們不允許做「xxxxx - > bbbbb - > zzzzz」這種事情嗎?

+0

這是絕對允許的,假設類型是指針(或者可以有 - >操作符完成的東西),並且指針都不爲NULL。你有沒有嘗試確保next()不返回NULL? – Corbin 2012-01-29 19:19:41

+0

是的,你可以做到這一點(我會留下代碼風格的談話),所以看起來你的錯誤是在別處。來源需要找到:) – 2012-01-29 19:21:00

回答

0

除非您指向列表的最後一個元素,否則您當然可以這樣做:在這種情況下,next()將返回NULL,並且您將看到結果不正確。

+0

確實這是錯誤。謝謝。 – rrazd 2012-01-29 19:40:50