STL не работает multimap::equal_range()

245
15 декабря 2016, 16:11

изучаю STL, работаю с multimap:

typedef multimap<string, string> str_mmap;
str_mmap test_mmap;
string str1("1"), str2("2"), s("1");
test_mmap.insert(str1, str1);
test_mmap.insert(str2, str2);
test_mmap.insert(str1, str2);
pair<str_mmap::iterator, str_mmap::iterator> finded = test_mmap.equal_range(s);

последняя строка выдает ошибку, которая возникает внутри STL:

/usr/include/c++/4.8/bits/stl_tree.h:1732: ошибка: no match for 'operator++' (operand type is 'std::basic_string<char>')
for (; __first != __last; ++__first)
/usr/include/c++/4.8/bits/stl_tree.h:1733: ошибка: no match for 'operator*' (operand type is 'std::basic_string<char>')
    _M_insert_equal_(end(), *__first);
                        ^

Компилятор: QT 4.8

Answer 1

Попробуйте объявить итератор вот так:

pair <multimap<string, string>::iterator, multimap<string, string>::iterator> finded = test_mmap.equal_range(s);
Answer 2

В общем разобрался сам, парился 2 дня, ошибка возникала в insert, в пятницу причем она там не возникала (комментил equal_range и вызывал просто find)

итак:

test_mmap.insert(make_pair(str1, str1));
test_mmap.insert(make_pair(str2, str2));
test_mmap.insert(make_pair(str1, str2));
READ ALSO
Аргументы int argc, char* argv[]

Аргументы int argc, char* argv[]

Можете, пожалуйста, объяснить, как пользоваться этой программой через командную строку

219
Разделение класса в заголовочный файл и в файл с кодом

Разделение класса в заголовочный файл и в файл с кодом

Вроде всегда так класс разделял в h-хедерные файлы и cpp-файлы с кодом, но в этот раз что-то пошло не так :( Пишет Unresolved external blablablaobj

215
Проблема с переопределением std::function [закрыто]

Проблема с переопределением std::function [закрыто]

и снова доброго вечера всем форумчанамВозникла проблема с переопределением объектов std::function<void()> и будто вещь это не особо сложная, а разобраться...

200
Ошибка при выполнении программы

Ошибка при выполнении программы

Учу Си по книге Стивена Прата "СЛекции и Упражнения

256