map.insert - что я делаю не так?

294
24 июля 2017, 15:15

Что я делаю не так? Нужно просто написать функцию, которая значения из map переводит в set

#include <iostream>
#include <vector>
#include <set>
#include <string>
#include <map>
std::set<std::string> BuildMapValuesSet (const std::map<int, std::string>& mp){
  std::set<std::string> s;
  for(auto item : mp)
    {
        s.insert(item.first);
    }
  return s;
}

int main(){
  std::set<std::string> values = BuildMapValuesSet({
      {1, "odd"},
      {2, "even"},
      {3, "odd"},
      {4, "even"},
      {5, "odd"}
  });
  for (const std::string& value : values) {
    std::cout << value;
  }
}
Answer 1

Чтобы понять в чем проблема вам следует переписать вашу функцию без использования auto:

for(std::pair<const int, std::string> item : mp){
    s.insert(item.second);
}

Теперь очевидно что item.first это ключ, а item.second это значение

READ ALSO
Не подгружается контент [требует правки]

Не подгружается контент [требует правки]

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

204
Почему не работает данный скрипт? [требует правки]

Почему не работает данный скрипт? [требует правки]

Почему не работает данный скрипт? (должен по нажатию на кнопку с классом menu-btn выводить меню) на codepen проверил, все работает

175
Как запретить переход по ссылке при клике на определеный элемент внутри неё?

Как запретить переход по ссылке при клике на определеный элемент внутри неё?

В интернет магазине есть каталог товаров, каждый товар полностью оформлен в виде ссылкиНо внутри этого блока есть ещё и кнопки, как сделать...

447
Firefox 54.0 (64-бит) скрывает div с баннером [требует правки]

Firefox 54.0 (64-бит) скрывает div с баннером [требует правки]

Верстаю макет на локальном хостеНи одного js файла не подключено

240