Процедура удаления элемента из списка выдает ошибку - C (СИ)
Формулировка задачи:
Процедура удаления элемента из списка, в первой же строке ошибка
"Необработанное исключение по адресу 0x0FFA4280 (msvcr120d.dll) в AtelieKursach.exe: 0xC0000005: нарушение прав доступа при чтении по адресу 0x00000000." Помогите пожалуйста. Спасибо
void DeleteFromTurn(Node** Head, char str[255]){
if (strcmp((*Head)->FIOzakaz, str) == 0){
Node *Current = *Head;
Node *Next = (*Head)->Next;
if (TURN == *Head){
delete(Current);
TURN = Next;
}
else {
Node *ptr = TURN;
while ((ptr)->Next != Current){
ptr = ptr->Next;
}
delete(ptr->Next);
*ptr->Next = *Next;
}
}
else DeleteFromTurn(&(*Head)->Next, str);
}Решение задачи: «Процедура удаления элемента из списка выдает ошибку»
textual
Листинг программы
void Delete(Node** Head, const char str[]) {
if ((Head == NULL) || (*Head == NULL)) {
return;
}
if (strcmp((*Head)->FIOzakaz, str) == 0) {
Node* Node = *Head;
*Head = (*Head)->Next;
free(Node); // В вашем случае delete
}
else {
Delete(&(*Head)->Next, str);
}
}
// ...
// Где-то в коде
Delete(&TURN, "ФИО заказ");
// ...