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

Error with multimap - C++

Восстановить пароль Регистрация
 
Dory
0 / 0 / 0
Регистрация: 03.12.2012
Сообщений: 4
27.10.2013, 16:39     Error with multimap #1
Вот код.

C++
1
2
3
4
5
6
struct sravn{
    bool operator()(const char* s1, const char* s2) const{
        return strcmp(s1, s2) < 0;
    }
};
typedef multimap<char*, Student, sravn> MapType;
C++
1
2
3
4
5
6
7
8
9
void del_stud(MapType *list){
    cout<<"Введите фамилию студента для удаления: ";
    char* name = new char[20];
    cin>>name;
    pair<MapType::iterator, MapType::iterator> range;
    range = list->equal_range(name);
    for (MapType::iterator it = range.first; it != range.second; ++it)
        list->erase(it);
}
Проблема с методом equal_range. Он возвращает итератор на первый элемент, а во втором итераторе остаётся BadPtr. Не могу понять причину.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.10.2013, 16:39     Error with multimap
Посмотрите здесь:

C++ STL multimap.
сортировка в multimap C++
неверное выполнение multimap C++
C++ multimap
Multimap зацикливается C++
C++ multimap::emplace()
Отсортировать multimap по pair->second C++
Multimap. Ошибка operator+ not implemented in type multimap C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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