如何在地图中插入值?

时间:2015-08-21 05:37:10

标签: c++ dictionary

我遇到了地图问题。

map<int, map<int , int>> my_map;

我使用的是insert()

my_map.insert(10, my_map.second.insert(20, 30));

但它不起作用。

2 个答案:

答案 0 :(得分:0)

在字典中插入地图的方法是add(key,value)

您的代码my_map.insert(10, my_map.second.insert(20, 30));会将错误视为“第二个&#39;不是可以在地图上调用的方法。

您可以采取以下措施来解决此问题:

map<int, map<int , int>> my_map;
map<int, int> my__second_map = new map<int,int>();

my_second_map.add(20,30);

my_map.add(10,my__second_map);

答案 1 :(得分:0)

你需要一个map类型的迭代器来调用第二个。 您还可以使用地图插入使用下面的代码。您也可以使用配对数据类型。

#include <map>
#include <iostream>

int main()
{
   std::map<int, std::map<int , int> > my_map;
   std::map<int,int> data;
   data.insert(std::pair<int,int>(20,30));
   my_map.insert(std::pair<int,std::map<int,int> >(10, data));
   return 0;
}