![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#11 |
Форумчанин
Регистрация: 13.02.2013
Сообщений: 221
|
![]()
почему программа не хочет удалять мне лекарства по имени?
Код:
|
![]() |
![]() |
![]() |
#12 |
Форумчанин
Регистрация: 13.11.2013
Сообщений: 149
|
![]()
Было бы неплохо увидеть хотя бы объявление метода get_name()
|
![]() |
![]() |
![]() |
#13 |
Форумчанин
Регистрация: 13.02.2013
Сообщений: 221
|
![]() Код:
Код:
|
![]() |
![]() |
![]() |
#14 |
Форумчанин
Регистрация: 13.11.2013
Сообщений: 149
|
![]()
Не знаю, код нормальный.
|
![]() |
![]() |
![]() |
#15 |
Форумчанин
Регистрация: 13.02.2013
Сообщений: 221
|
![]()
пишет такую ошибку - vector iterator not incrementable
|
![]() |
![]() |
![]() |
#16 |
Форумчанин
Регистрация: 13.11.2013
Сообщений: 149
|
![]()
Хрень какая-то, или эта ошибка относится к коду, который не показан.
|
![]() |
![]() |
![]() |
#17 |
Участник клуба
Регистрация: 23.12.2010
Сообщений: 1,129
|
![]()
vmedicines у тебя все еще вектор, так же? )
Итератор для вектора фактически является указателем на элемент. Когда ты удаляешь что-то из средины вектора - следующие элементы сдвигаются на единицу ближе к началу. И итератор показывает уже на следующий элемент. А ты после этого увеличиваешь его еще раз, пропуская таким образом одно из значений. Это продолжает работать (хоть как-то, с пропуском некоторых элементов) до тех пор, пока ты не удалишь последний элемент. После этого итератор показывает уже на vector.end(). И тогда он становится действительно not incrementable, потому что куда ж еще увеличивать-то. ) При этом стандарт языка вообще говорит о том, что любой итератор, показывающий на место за удаляемым элементом, перестает быть валидным. И такой код может падать вообще на первой итерации. Чтобы как-то разрулить это, они решили возвращать из erase итератор на следующий за удаляемым элемент (или на vector.end(), если такого нет). Потому самый простой способ починить этот цикл - Код:
|
![]() |
![]() |
![]() |
#18 |
Форумчанин
Регистрация: 13.02.2013
Сообщений: 221
|
![]()
теперь ошибку пишет - Ошибка 8 error C2039: get_name: не является членом "std::vector<_Ty>" d:\мои документы\visual studio 2010\projects\laba.9\laba.7\pharma. cpp 541 1 Laba.9
Ошибка 10 error C2232: ->std::vector<_Ty>::erase: левый операнд имеет тип "class", используйте "." d:\мои документы\visual studio 2010\projects\laba.9\laba.7\pharma. cpp 543 1 Laba.9 Ошибка 7 error C2819: тип "std::vector<_Ty>" не имеет перегруженный "operator ->" d:\мои документы\visual studio 2010\projects\laba.9\laba.7\pharma. cpp 541 1 Laba.9 Последний раз редактировалось Stilet; 23.11.2013 в 13:29. |
![]() |
![]() |
![]() |
#19 |
Участник клуба
Регистрация: 23.12.2010
Сообщений: 1,129
|
![]()
Покажи весь код.
|
![]() |
![]() |
![]() |
#20 |
Форумчанин
Регистрация: 13.02.2013
Сообщений: 221
|
![]()
спасибо всем огромное) я разобралась..теперь все работает
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Быстрая сортировка(сортировка Хоара). Сортировка фрагмента массива [C++] | druger | Помощь студентам | 0 | 20.04.2012 15:49 |
Сортировка Шелла и Шейкер-сортировка | AleksandrMakarov | Паскаль, Turbo Pascal, PascalABC.NET | 11 | 11.03.2012 12:18 |
Сортировка массива методами предсортировки и слияния, и пирамидальная сортировка. | lenny_24 | Помощь студентам | 2 | 17.04.2011 18:57 |
паскаль,одномерный массив,сортировка вставка,сортировка убывания,от максимального до конца | немозг | Помощь студентам | 11 | 06.02.2010 21:57 |
Сортировка файлов в Explorer vs сортировка в Delphi | mutabor | Общие вопросы Delphi | 11 | 04.09.2009 14:32 |