При проверке, если (! Node->next), node->next =0x4 должно быть NULL
Итак, я пишу троичное дерево и получаю ошибки сегмента после примерно 20 вставок. Когда я изолирую проблему в GDB, я получаю очень странную ошибку, которую я никогда раньше не видел.
в приведенном ниже коде оператор more - это еще один NODE, и этот узел ДОЛЖЕН быть NULL (или другим узлом), но когда я нахожусь в GDB и проверяю его значение, я получаю *tempNode->0x4, что заставляет мой код пытаться установить значение more (0x4) как текущий узел и приводит к ошибке сегмента.
if( ! tempNode->greater )
else
{
tempNode = tempNode->greater;
}
Вот вывод GDB: (gdb) p *tempNode-> more Не удается получить доступ к памяти по адресу 0x4
застряли на несколько часов, есть идеи?