У меня есть связанный список, и моя цель - удалить повторение данных в связанном списке. В каждом узле есть только компонент данных и указателей. Алгоритм может быть не идеальным, но я беспокоюсь, почему я получаю ошибку SIGABRT
в Xcode при попытке удалить узел. Ошибка возникает в коде, когда условие if
истинно. Не знаю, что означает SIGABRT
.Ошибка SIGABRT для связанного списка
void LinkedList::deleteRepetition(const LinkedList& list)
{
node* temp_value = nullptr;
node* traverser = nullptr;
temp_value = head;
traverser = head;
for (int i = 0; i < NODES; i++)
{
for (int j = 0; j < NODES - i; j++)
{
traverser = temp_value->next;
if (traverser->data == temp_value->data)
{
delete traverser;
}
}
traverser = temp_value;
temp_value = temp_value->next;
}
}
Вы имели в виду [SIGABRT] (https://en.wikipedia.org/wiki/Unix_signal#POSIX_signals)? – 3442
«SIGABRT» или «SIGNAL6» означает память или доступ к памяти памяти. – someone
Возможный дубликат [Когда процесс получает SIGABRT (сигнал 6)?] (Http://stackoverflow.com/questions/3413166/when-does-a-process-get-sigabrt-signal-6) – someone