контейнер.
std::unordered_map<std::size_t, std::set<std::string>> data;
Как добавить туда новое значение, которого ещё не было, по форме?:
длина слова, слово
Пишу
data.emplace(make_pair(word.length(), word));
Выдает ошибку.
При
data[word.length()] = word;
Ошибка у оператора присваивания. Интуитивно предполагаю, что такая пара невозможна, но чет я вообще запутался :(
Так у вас сет второй элемент, а вы строку кладете. Вот и проблема, собсно
А можете, пожалуйста, написать как будет выглядеть тогда строка?
Что-то такое должно сработать: data[word.length()] = { word };
Ну вот да, я попробовал, и ошибка всё такая же
а не, всё, я порешал. Спасибо большое за помощь))
Только теперь у меня сохраняется лишь 1 элемент, а не добавляется в set как ещё один новый. То есть сохраняется только последний элемент... :( то есть при записи asd zxc 123 Сохраняется не все 3, а 123.
data[word.length()].insert(word);
Когда добавляете, то следует делать insert
Ооо, да, то что надо, спасибо)
Обсуждают сегодня