【问题标题】:In c++, Insert a vector in a map在 C++ 中,在地图中插入一个向量
【发布时间】:2015-06-07 03:47:12
【问题描述】:

在 c++ 中,我想在地图中插入一个向量。

map的key是一对string和int,value是一个vector。

我正在写下以下代码,但似乎矢量没有插入到地图中。

是不是代码的语法错了? 如果是这样,你能告诉我正确的吗?

map<pair<string, int>, vector<string> > my_map;
vector<string> v;
v.push_back("abcde");
my_map.insert(make_pair(make_pair("aaa",1),v));

【问题讨论】:

  • v_pre 定义在哪里?
  • 对不起,这是错误的。我编辑了。
  • 我无法重现这个。 Check it out
  • 即使我无法重现该错误。检查它:ideone.com/XrZYxU
  • “好像向量没有插入到地图中” 根据.....?

标签: c++ dictionary vector


【解决方案1】:

您使用了 v_pre 而向量的名称为 v:

my_map.insert(make_pair(make_pair("aaa",1),v_pre));

正确的代码应该是:

my_map.insert(make_pair(make_pair("aaa",1),v));

【讨论】:

  • @szakira:你遇到了什么问题?
  • 插入后map的值为空!!
  • 使用函数my_map.empty()检查,你会得到错误的。
  • for (map, vector> ::const_iterator iter1 = my_map.begin(); iter1 != my_map.end(); iter1++) { cout first.first first.second second[0]
  • @everybody,对不起......这是我的错误。我的代码没有错。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-31
  • 1970-01-01
  • 2012-05-22
  • 1970-01-01
  • 2020-11-14
  • 2011-04-08
相关资源
最近更新 更多