Процедура удаления элемента из списка выдает ошибку - 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, "ФИО заказ");
- // ...
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д