класс std :: set не имеет члена с именем 'pu sh' - PullRequest
0 голосов
/ 29 апреля 2020

Я использовал для создания функции, которая сохраняет объект json в карту строк (ключ) и вектор строк (значение), используя этот код:

#include <vector>
#include <map>
using VMap = std::map<std::string, std::vector<std::string> >;

VMap fileMapper (ptree const& config) 

{ 
    VMap mymap ; 
    for (auto& entry : config) {
        std::vector<std::string> val; 
        for (auto& element : boost::make_iterator_range(entry.second.equal_range(""))) {
            val.push_back(element.second.get_value<std::string>()); 
        } 
        mymap.insert(std::pair<std::string, std::vector<std::string>>(entry.first,val));
        } 
    return mymap;
} 

Я ищу сделать то же действие, используя набор строк вместо вектора строк, я попытался сделать небольшую модификацию кода:

#include <map>
#include <set>

using VMap = std::map<std::string, std::set<std::string> >;

VMap fileMapper (ptree const& config) 

{ 
    VMap mymap ; 
    for (auto& entry : config) {
        std::set<std::string> val; 
        for (auto& element : boost::make_iterator_range(entry.second.equal_range(""))) {
            val.push(element.second.get_value<std::string>()); 
        } 
        mymap.insert(std::pair<std::string, std::set<std::string>>(entry.first,val));
        } 
    return mymap;
} 

И у меня есть эта ошибка: класс std :: set> 'не имеет члена с именем' pu sh '

Есть идеи?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...