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

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

Войти
Регистрация
Восстановить пароль
 
_Vertigo_
14 / 14 / 2
Регистрация: 07.09.2013
Сообщений: 159
Завершенные тесты: 1
#1

Map/set iterator not dereferencable - C++

15.03.2014, 12:31. Просмотров 499. Ответов 1
Метки нет (Все метки)

Всем доброго времени суток. Суть задания в том, чтобы удалить повторы комбинаций чисел в multimap'e. Проблема в том, что появляется данная ошибка: map/set iterator not dereferencable, не могу понять, как ее решить. Помогите, пожалуйста:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <map>
 
int main(){
    std::multimap <int, int> mn;
    std::multimap <int, int> pos;
    mn.insert(std::pair<int, int>(1,2));
    mn.insert(std::pair<int, int>(7,2));
    mn.insert(std::pair<int, int>(4,3));
    mn.insert(std::pair<int, int>(4,2));
    mn.insert(std::pair<int, int>(3,2));
    mn.insert(std::pair<int, int>(1,2));
    std::multimap<int,int>::iterator a=mn.begin();
    do{
    std::multimap <int, int> :: iterator key = mn.find(a->first);
    mn.erase(key);
    }while (true);
    for (auto it=mn.begin(); it!=mn.end(); ++it)
        std::cout << (*it).first << " - " << (*it).second << std::endl;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.03.2014, 12:31     Map/set iterator not dereferencable
Посмотрите здесь:

Map/set iterator not dereferencable - C++
Есть два класса, первый: class AnimationManager { public: String currentAim; std::map&lt;String, Animation&gt; animList; ...

Tree, set, map etc. - C++
Решил посмотреть реализацию стандартного мап/сет и вспомогательного класса _Tree (кстати, он только в MSVS или есть везде, но по разному...

Замена char на map/set - C++
Всем привет! Задача была написать программу, которая выводит слово, которое встречается чаще всего (причем КАПСом) Имеется следующий...

Map/set iterators are incompatible - C++
void Delete(int a , int b) { multiset &lt;double&gt; ::iterator First, Last; multiset &lt;double&gt; ::iterator temp; int i = 0; ...

Expression:map/set incompatible - C++
Не могу понять почему возникает ошибка дело в том что данный код работает set&lt;int&gt; Multic; vector&lt;set&lt;int&gt;::iterator&gt; Posledic; ...

Найти такой подмассив, что его сумма максимальна (через контейенры map и set) - C++
Дан массив целых чисел a, состоящий из n элементов. Требуется найти такой его подотрезок, что его сумма максимальна. Входные данные...

Программа аварийно завершается с ошибкой "map/set iterators are incompatible" - C++
Добрый день! Проблема такая: в s1 и s2 рандомно добавляю числа, хочу найти объединение этих множеств. Если использовать такой код, то все в...

Iterator - C++
vector &lt;char&gt;::iterator stek; *stek = '0'; После второй строчки программа при выполнении вылетает, почему?

Iterator - C++
Почему следующая конструкция не работает: vector&lt;int&gt; v(10); vector&lt;int&gt;::iterator v_ptr; v_ptr = v.begin(); // v_ptr = 0 ...

iterator to count - C++
Возможно ли как-то получить порядковый номер вместо итератора не используя локальны счетчик. Для примера: std::string...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
igorrr37
1643 / 1271 / 133
Регистрация: 21.12.2010
Сообщений: 1,932
Записей в блоге: 7
15.03.2014, 23:15     Map/set iterator not dereferencable #2
после erase итератор а становится невалидным
Ответ Создать тему
Опции темы

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