При проверке, если (! Node- & gt; next), node-> gt; next = 0x4 должно быть NULL

Поэтому я пишу троичное дерево и получаю ошибки сегмента после 20 вставок. Когда я изолирую проблему в GDB, я получаю очень странную ошибку, которую я никогда раньше не видел.

в приведенном ниже коде оператор more — это еще один NODE, и этот узел ДОЛЖЕН быть NULL (или другим узлом), но когда я нахожусь в GDB и проверяю его значение, я получаю * tempNode-> 0x4, что заставляет мой код пытаться установить значение more ( 0x4) как текущий узел и приводит к ошибке сегмента.

 if( ! tempNode->greater )else
{
tempNode = tempNode->greater;
}

Вот вывод GDB:
(gdb) p * tempNode-> больше
Невозможно получить доступ к памяти по адресу 0x4

застряли на несколько часов, есть идеи?

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]