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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Porty
0 / 0 / 0
Регистрация: 27.05.2015
Сообщений: 4
#1

Vector iterator not incrementable - C++

30.07.2015, 00:34. Просмотров 739. Ответов 4
Метки нет (Все метки)

Здравствуйте. Подскажите, из-за чего не работает код?
При запуске программы появляется ошибка: "... expression: vector iterator not incrementable ..."
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <vector>
#include <iterator>
#include <algorithm>
using namespace std;
 
int main()
{
    vector<int> bunnys{ 12, 11, 11, 11, 11 };
    for (vector<int>::iterator i = bunnys.begin(); i != bunnys.end(); i++)
    {
        if (*i == 11)
            bunnys.erase(i);
    }
    copy(bunnys.begin(), bunnys.end(), ostream_iterator<int, char>(cout, " "));
    cin.get();
    return 0;
}
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.07.2015, 00:34     Vector iterator not incrementable
Посмотрите здесь:

Синхронизация map и vector. Iterator not incrementable - C++
День добрый. Надо синхронизровать vector и map, чтобы в них были только одинаковые элементы. Вот мой код, который выбрасывает ошибку....

Ошибка при запуске программы "vector iterator not incrementable" - C++
при запуске программы (без разницы какой функции) вылетает ошибка (заг. темы) как это исправить? мне кажется, что проблема в том, что я...

Ошибка list iterator not incrementable - C++
код: std::list&lt;Platform * &gt; Platform::Platform_list; //статическое поле класса Platform перебираем элементы и удаляем их при...

Ошибка в роботе с контейнером: set iterator not incrementable - C++
Задание:Дано предложение.Какие большие и маленькие буквы с этих 'k','p','s','t','f','h','c' не содержатся в предложении. Обязательным...

vector<pointer>::iterator - C++
В общем, есть некий родительский объект, в котором хранится динамический массив указателей на дочерние объекты. Требуется пройтись по всем...

vector iterator not decrementable - C++
Здраствуйте! Хочу вывести вектор задом-наперед, все нормально, но после того как оно выводит вектор сразу выскакивает ошибка vector...

copy, iterator, vector - C++
#include &lt;istream&gt; #include &lt;vector&gt; #include &lt;algorithm&gt; #include &lt;iterator&gt; int main( ) { std::vector &lt;int&gt;...

STL vector iterator - C++
есть список в списке... ..точнее: vector &lt;Class1*&gt; mapClass1; а уже в Class1 определён вектор vector &lt;Class2*&gt; mapClass2; ...

Vector iterator + offset out of range - C++
Вылазит такая ошибка. Подскажите, из-за чего она может вылезти?

Expression: vector iterator not decrementable - C++
Требуется в двух файлах удалить повторяющие строки (до первого вхождения) Примеры: Name_N &lt;TEXT&gt; ...

Vector <bool> erase iterator outside range - C++
Помогите, пожалуйста. При компиляции появляется ошибка (фото ниже). Это реализация алгоритма Хаффмана. Не могу понять, что не так, по...

STL, vector. iterator. как работает? - C++
void invertArrange() //метод инвертирования порядка слов { istringstream ist(operLine);...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
S_el
2092 / 1599 / 306
Регистрация: 15.12.2013
Сообщений: 6,420
30.07.2015, 00:37     Vector iterator not incrementable #2
Porty, вы инкрементируете итератор на удаленный элемент.
castaway
Эксперт С++
4881 / 3017 / 370
Регистрация: 10.11.2010
Сообщений: 11,076
Записей в блоге: 10
Завершенные тесты: 1
30.07.2015, 00:39     Vector iterator not incrementable #3
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Ошибки связанные с итераторами (удаление элементов по итератору в циклах)
Porty
0 / 0 / 0
Регистрация: 27.05.2015
Сообщений: 4
30.07.2015, 00:41  [ТС]     Vector iterator not incrementable #4
Понял ошибку, всем спасибо )
lss
921 / 851 / 281
Регистрация: 10.10.2012
Сообщений: 2,701
30.07.2015, 00:44     Vector iterator not incrementable #5
C++
1
2
3
4
5
6
7
for (vector<int>::iterator i = bunnys.begin(); i != bunnys.end(); )
{
        if (*i == 11)
            i = bunnys.erase(i);
        else
            ++i;
}
Yandex
Объявления
30.07.2015, 00:44     Vector iterator not incrementable
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru