Форум программистов, компьютерный форум CyberForum.ru

Ошибка в использовании указателей - метод списка - C++

Восстановить пароль Регистрация
 
Минерва
Сообщений: n/a
14.05.2012, 21:04     Ошибка в использовании указателей - метод списка #1
Хочется прописать функцию, которая бы удаляла переданный ей элемент из списка. Но функция почему-то удаляет следующий элемент
В чём проблема? Подскажите, пожалуйста!

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
MyList* MyList::Delete(MyList* head, Product* pro)
{ MyList* p;
         MyList* pn;
         for (p=head; p; p=p->pNext)
         { if (p->obj==pro && p->pNext)
                  { if (p==head)
                           { pn=p;
                           p=p->pNext;
                           pn->pNext=p->pNext;
                           p=pn;
                           }
                  else
                           { pn=pn->pNext;
                           p=p->pNext;
                           pn->pNext=p->pNext;
                           p=pn;
                           };
                  };
         };
return head;
};
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.05.2012, 21:04     Ошибка в использовании указателей - метод списка
Посмотрите здесь:

Проблемы при использовании указателей для работы со строками C++
Создание меню с использованием указателей на метод класса C++
Напишите программу, присваивающую значения элементов списка указателей на символьные строки в стиле С (тип char* ) элементам вектора строк C++
Указатель на массив указателей на объекты, передать в метод объекта C++
удаление списка указателей C++
Обращение к элементам линейного списка через элементы массива указателей C++
C++ Ошибка при использовании %
C++ Динамическая структура данных в форме односвязного списка на основе указателей

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 03:26. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru