我似乎在以下部分上遇到问题,而我得到的最新异常是:
LinkedList.exe中0x01321A01处未处理的异常:0xC0000005:访问冲突写入位置0x00000020。
我一直在搜寻google和我的书,已经好几个小时了,但似乎找不到所需的答案。
//add a node (pNode) at the tail of the list.
//return a pointer to the head node
ListNode* addEnd( ListNode* pHead, ListNode* pNode )
{
ListNode* pCurr = pHead;
while( pCurr != NULL )
{
if(pCurr->pNextNode == NULL)
break;
pCurr = pCurr->pNextNode;
if(pCurr->pNextNode == NULL)
break;
}
pCurr->pNextNode = pNode;
delete [] pCurr;
return pHead;
}
最佳答案
我认为delete [] pCurr;
可能会在这里引起问题
您不应该在这里删除pCurr,因为这里您不是新的任何内存,临时指针将在函数末尾销毁自己,而delete []用于数组。