|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
21.11.2013, 14:41 | #11 |
Форумчанин
Регистрация: 13.02.2013
Сообщений: 221
|
почему программа не хочет удалять мне лекарства по имени?
Код:
|
21.11.2013, 14:56 | #12 |
Форумчанин
Регистрация: 13.11.2013
Сообщений: 149
|
Было бы неплохо увидеть хотя бы объявление метода get_name()
|
21.11.2013, 14:59 | #13 |
Форумчанин
Регистрация: 13.02.2013
Сообщений: 221
|
Код:
Код:
|
21.11.2013, 15:04 | #14 |
Форумчанин
Регистрация: 13.11.2013
Сообщений: 149
|
Не знаю, код нормальный.
|
21.11.2013, 15:08 | #15 |
Форумчанин
Регистрация: 13.02.2013
Сообщений: 221
|
пишет такую ошибку - vector iterator not incrementable
|
21.11.2013, 15:19 | #16 |
Форумчанин
Регистрация: 13.11.2013
Сообщений: 149
|
Хрень какая-то, или эта ошибка относится к коду, который не показан.
|
21.11.2013, 21:48 | #17 |
Участник клуба
Регистрация: 23.12.2010
Сообщений: 1,129
|
vmedicines у тебя все еще вектор, так же? )
Итератор для вектора фактически является указателем на элемент. Когда ты удаляешь что-то из средины вектора - следующие элементы сдвигаются на единицу ближе к началу. И итератор показывает уже на следующий элемент. А ты после этого увеличиваешь его еще раз, пропуская таким образом одно из значений. Это продолжает работать (хоть как-то, с пропуском некоторых элементов) до тех пор, пока ты не удалишь последний элемент. После этого итератор показывает уже на vector.end(). И тогда он становится действительно not incrementable, потому что куда ж еще увеличивать-то. ) При этом стандарт языка вообще говорит о том, что любой итератор, показывающий на место за удаляемым элементом, перестает быть валидным. И такой код может падать вообще на первой итерации. Чтобы как-то разрулить это, они решили возвращать из erase итератор на следующий за удаляемым элемент (или на vector.end(), если такого нет). Потому самый простой способ починить этот цикл - Код:
|
22.11.2013, 16:08 | #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. |
22.11.2013, 17:23 | #19 |
Участник клуба
Регистрация: 23.12.2010
Сообщений: 1,129
|
Покажи весь код.
|
23.11.2013, 08:53 | #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 |