Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: Общие вопросы > удаление из вектора по указателю на элемент вектор |
Автор: fuckingniger 20.6.2011, 18:03 |
как удалить элемент вектора, имея указатель на этот элемент |
Автор: hawk3500 20.6.2011, 21:23 |
Привиди пример. |
Автор: borisbn 21.6.2011, 09:44 | ||||
у меня http://forum.vingrad.ru/forum/topic-332504/kw-vector-erase.html ? Цитата оттуда (Earnest)
так не работает ? |
Автор: fuckingniger 21.6.2011, 14:24 |
нет. Поэтому и написал) |
Автор: borisbn 21.6.2011, 14:37 | ||||||
что не работает - секрет ? Давай поочерёдно: 1.
2.
3.
|
Автор: volatile 22.6.2011, 01:18 |
Бьюсь об заклад, что у fuckingniger, указатель указывает просто мимо вектора. Скорей всего на копию элемента. (телепатия это сила!) fuckingniger покажите вашу функцию find_vector_value() Собака порылась именно там. |
Автор: fuckingniger 22.6.2011, 06:53 | ||
|
Автор: borisbn 22.6.2011, 07:16 |
Ты возвращаешь указатель на элемент вектора t!!! Который "живёт" только в этой ф-ции. Т.е. на копию какого-то вектора.… Воспользуйся find_if или просто find, если в COORD больше ничего нет, кроме x и y |
Автор: asmdzen 22.6.2011, 09:54 |
непонятно вообще зачем используются указатели, можно ведь по индексу пройтись или итератором обойтись, или это привычки Сишника ) COORD* find_vector_value(int x,int y,vector<COORD>& t) может так пойдет? |
Автор: fuckingniger 22.6.2011, 12:21 |
а разве они автоматически по ссылке не передаются? |
Автор: bsa 22.6.2011, 12:25 |
нет конечно!!! в С++ ничего автоматически по ссылке не передается - как написал, так и будет передано. |
Автор: borisbn 22.6.2011, 12:49 |
ещё автоматически ищется максимальный элемент и делится на него ![]() |
Автор: Earnest 22.6.2011, 13:43 |
Автоматически (т.е. сами собой) возникают только ошибки. Все остальное приходится делать руками... ![]() |