我有以下地图:显示一个字符串,矢量<int>地图在C++
std::map<std::string, std::vector<int> > my_map;
我这样插入键和值在我的地图:
my_map.insert(std::pair<std::string, std::vector<int> >(nom,vect));
如何打印两键和我的地图的值?
我已经测试:
for(std::map<std::string, std::vector<int> >::iterator ii=my_map.begin(); ii!=my_map.end(); ++ii)
{
std::cout << (*ii).first << ": " << (*ii).second << std::endl;
}
但出于某种原因,我得到这个错误:
error: no match for ‘operator<<’ (operand types are ‘std::basic_ostream<char>’ and ‘std::vector<int>’)
std::cout << (*ii).first << ": " << (*ii).second << std::endl;
你怎么能打印'std :: vector'?你不能这样做,除非你通过为'operator <<'提供一个过载来定义它是如何被打印的。'' –
user463035818
你需要遍历'std :: vector',或者在原地进行,或者通过重载'运营商<<'为这种类型(我不建议。) –
Tobias
该死的我是一个初学者,我真的不需要每个评论员在这个论坛downvote一篇文章,当他们找到答案很明显 –