Как я могу добавить (статически определенный) unordered_set в unordered_map без необходимости копировать unordered_set?
Я пробовал это:
std::unordered_map<int, std::unordered_set<std::string>> my_map;
for (int i=0; i<100; i++)
my_map.emplace(i, {"foo", "bar"});
и это:
std::unordered_map<int, std::unordered_set<std::string>> my_map;
for (int i=0; i<100; i++)
my_map.insert(i, std::move(std::unordered_set<std::string>({"foo", "bar"})));
но ни один из них не компилируется, я получаю эти ошибки (соответственно):
error: no matching function for call to ‘std::unordered_map<int, std::unordered_set<std::basic_string<char> > >::emplace(int&, <brace-enclosed initializer list>)’
а также
error: no matching function for call to ‘std::unordered_map<int, std::unordered_set<std::basic_string<char> > >::insert(int&, std::remove_reference<std::unordered_set<std::basic_string<char> > >::type)’
unordered_map
изunordered_set
(это не то, что вы говорите в вопросе). Просьба уточнить. - person Walter   schedule 24.06.2015