-1
我正在寫一個程序,添加,刪除和顯示節點(這是雙向鏈接)及其組件,但每當我嘗試檢索節點並顯示它的組件時,我得到此錯誤:C++鏈接列表搜索錯誤:STATUS_ACCESS_VIOLATION
2 [main] a 4640 exception::handle: Exception: STATUS_ACCESS_VIOLATION
2875 [主]一4640 open_stackdumpfile:轉儲堆棧跟蹤a.exe.stackdump
我已經把範圍縮小到一個應該搜索,看看我的.h文件中的搜索功能鏈接列表中有一個節點正在搜索帳號。該函數返回之前的節點或「前一個」節點。
這裏是我的搜索功能:
bool searchListByAcctNum (int searchKey, nodePtr *prevOut)
{
bool found = false;
nodePtr p = headNum;
nodePtr prev = NULL;
while (p != NULL)
{
if (p->acctNum < searchKey)
{
prev = p;
p = p->nextNum;
}
else
{
if (p->acctNum == searchKey)
found = true;
p = NULL;
}
}
*prevOut = prev;
return found;
如果有人可以幫助我的人,我會感激!
你如何在創建列表時爲節點分配內存? – Naveen 2012-02-20 09:30:24
提供的信息不足。 – 2012-02-20 09:31:51
您的鏈接列表已損壞並且包含陳舊的指針,或者'prevOut'是'NULL'(或無效指針)。 – 2012-02-20 09:32:23