|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
28.04.2010, 09:46 | #1 |
Пользователь
Регистрация: 24.08.2007
Сообщений: 88
|
итераторы и vector.erase(
Здравствуйте, есть вот такой вот фрагмент кода:
Код:
|
28.04.2010, 09:49 | #2 |
Форумчанин
Регистрация: 26.04.2010
Сообщений: 328
|
Нужны новые итераторы, ибо при удалении элемента вектор может перестроится.
PS на сколько помню, erase( iterator ) возвращает итератор на следующий элемент |
28.04.2010, 10:06 | #3 |
Пользователь
Регистрация: 24.08.2007
Сообщений: 88
|
Спасибо, пробовал: l=serv->clients.erase(l); - толку ноль.
break цикла после удаления - спасает, но нежелателен... |
28.04.2010, 10:13 | #4 |
Форумчанин
Регистрация: 26.04.2010
Сообщений: 328
|
Код:
l = serv->clients.begin(); тоже не работает ? Странно всё это =) На вашем месте я бы еще убрал строчку delete (*l); на время, а то мало ли ) Последний раз редактировалось ozo; 28.04.2010 в 10:19. |
28.04.2010, 10:37 | #5 |
Пользователь
Регистрация: 24.08.2007
Сообщений: 88
|
пробовал убирать , не влияет В итоге модифицировал схемку с break цикла в конце, а то в мелочах завязну. l = serv->clients.begin() - попробовал до того как на форуме отписался, все равно на l++ слетает спасибо за помощь.
|
28.04.2010, 15:05 | #6 |
Форумчанин
Регистрация: 26.04.2010
Сообщений: 328
|
Код:
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
vector | NiCola999 | Помощь студентам | 5 | 26.02.2010 08:37 |
std::vector | ciaonataha | Общие вопросы C/C++ | 1 | 10.05.2009 15:50 |
Вопрос по <vector> | kezman | Общие вопросы C/C++ | 1 | 13.08.2008 21:48 |