问答详情
源自:3-6 链表编码实战(四)

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

我想问下为什么

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的时候会报错:

提问者:qq_gw_1 2017-10-14 20:40
微课

个回答

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

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