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

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

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

Vector iterator not incrementable - C++

30.07.2015, 00:34. Просмотров 608. Ответов 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
Посмотрите здесь:

C++ vector<T> template vector<T>::iterator
C++ STL vector iterator
vector<pointer>::iterator C++
vector iterator not decrementable C++
Ошибка в роботе с контейнером: set iterator not incrementable C++
C++ STL, vector. iterator. как работает?
C++ Ошибка при запуске программы "vector iterator not incrementable"
C++ copy, iterator, vector
C++ Vector iterator + offset out of range
C++ Ошибка list iterator not incrementable
C++ Синхронизация map и vector. Iterator not incrementable
Std::vector<std::pair<std::vector<int>::iterator, std::vector<int>::iterator> C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
S_el
2076 / 1583 / 303
Регистрация: 15.12.2013
Сообщений: 6,293
30.07.2015, 00:37     Vector iterator not incrementable #2
Porty, вы инкрементируете итератор на удаленный элемент.
castaway
Эксперт С++
4873 / 3012 / 370
Регистрация: 10.11.2010
Сообщений: 11,061
Записей в блоге: 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
Ответ Создать тему
Опции темы

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