Процедура удаления элемента из списка выдает ошибку - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Процедура удаления элемента из списка, в первой же строке ошибка "Необработанное исключение по адресу 0x0FFA4280 (msvcr120d.dll) в AtelieKursach.exe: 0xC0000005: нарушение прав доступа при чтении по адресу 0x00000000." Помогите пожалуйста. Спасибо
Листинг программы
  1. void DeleteFromTurn(Node** Head, char str[255]){
  2. if (strcmp((*Head)->FIOzakaz, str) == 0){
  3. Node *Current = *Head;
  4. Node *Next = (*Head)->Next;
  5. if (TURN == *Head){
  6. delete(Current);
  7. TURN = Next;
  8. }
  9. else {
  10. Node *ptr = TURN;
  11. while ((ptr)->Next != Current){
  12. ptr = ptr->Next;
  13. }
  14. delete(ptr->Next);
  15. *ptr->Next = *Next;
  16. }
  17. }
  18. else DeleteFromTurn(&(*Head)->Next, str);
  19. }

Решение задачи: «Процедура удаления элемента из списка выдает ошибку»

textual
Листинг программы
  1. void Delete(Node** Head, const char str[]) {
  2.     if ((Head == NULL) || (*Head == NULL)) {
  3.         return;
  4.     }
  5.  
  6.     if (strcmp((*Head)->FIOzakaz, str) == 0) {
  7.         Node* Node = *Head;
  8.         *Head = (*Head)->Next;
  9.         free(Node); // В вашем случае delete
  10.     }
  11.     else {
  12.         Delete(&(*Head)->Next, str);
  13.     }
  14. }
  15.  
  16. // ...
  17. // Где-то в коде
  18. Delete(&TURN, "ФИО заказ");
  19. // ...

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4.385 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут