Как я могу добавить (неуказанный статический) unordered_set в unordered_map, без необходимости копировать неупорядоченный_set?emplace unordered_set in unordered_map
Я попытался это:
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 '(что не то, что вы говорите в вопросе). Просьба уточнить. – Walter