Я пишу программу, которая добавляет, удаляет и отображает узлы (которые связаны дважды) и их компоненты, но всякий раз, когда я пытаюсь получить узел и отображать его компоненты, я получаю эту ошибку:Ошибка поиска связанного списка 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
Информация не предоставлена. –
Ваш связанный список поврежден и содержит устаревшие указатели, или 'prevOut' -' NULL' (или недопустимый указатель). –