从链表中删除节点的方法不正确?

时间:2012-01-29 19:18:10

标签: c++ pointers linked-list

为了删除一个保存obj的节点,我在链接列表的中间找到了:

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

,其中

    最初是
  1. Single_node<Type>* traverser = head();
  2. retrieve()返回Single_node
  3. 中的obj存储
  4. next()返回Single_node
  5. 中的下一个指针

    这会对retrieve()

    造成错误的访问错误

    我不明白为什么......? 我们不允许做“xxxxx - &gt; bbbbb - &gt; zzzzz”这样的事情吗?

1 个答案:

答案 0 :(得分:0)

除非您指向列表的最后一个元素,否则您当然可以这样做:在这种情况下,next()会返回NULL,您会看到错误的访问权限。