2012-01-29 64 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