在delete currentnode的时候会出错是为什么呢

来源:3-6 链表编码实战(四)

qq_gw_1

2017-10-14 20:40

我想问下为什么

bool list2::listdelet(int i, node *elem)

{

node *currentnode = m_pNode;

node *prenode = NULL;


if (i < 0 || i>m_length)

{

return false;

}


for (int count = 0; count < i; count++)

{

prenode = currentnode;

currentnode = currentnode->next;

}

prenode->next = currentnode->next;

elem->data = currentnode->data;

delete currentnode;

m_length--;

return true;

}

我delete currentNode的时候会报错:

写回答 关注

1回答

  • 天空上的太阳
    2017-10-17 00:33:45

    currentnode与m_pNode都是指针,指向相同的地址,如果delete currentnode会将m_pNode的内存一并释放,m_pNode还在使用中所以报错。

数据结构探险之线性表篇

线性表的主体顺序表和链表,让学员能够将知识融会贯通学以致用

57563 学习 · 257 问题

查看课程

相似问题