没有可行的重载运算符用于引用映射

时间:2015-04-22 16:43:19

标签: c++ xml c++11 xml-parsing

我正在尝试使用地图,因此我可以将标签名称设为参考编号。当我尝试使用它时,就像在这段代码中一样,我得到错误(每次我引用地图时总共6个):

  "autoload": {
    "psr-0": {
      "ProjectName\\ModuleOne\\": ""
    }
  },

这是代码:

src/main.cpp:25:45: error: no viable overloaded operator[] for type
      'std::map<std::string, std::string>'
                const char* idcs = node.child_value(tagMap[3]);

1 个答案:

答案 0 :(得分:6)

const char* idcs = node.child_value(tagMap[3]);

不正确,tagMap只能通过std::string的密钥类型编制索引 你需要的是:

const std::string& idcs = node.child_value(tagMap["3"]);