当前位置:  开发笔记 > 编程语言 > 正文

unordered_map有三个元素

如何解决《unordered_map有三个元素》经验,为你挑选了1个好方法。

我想在一个中有三个元素unordered_map.我尝试了以下代码

#include 
#include 
#include 
#include 

typedef boost::unordered_map> mymap;
mymap m;

int main(){
//std::unordered_map > m;
m.insert({3, std::make_pair(1,1)});
m.insert({4, std::make_pair(5,1)});
for (auto& x: m)
    std::cout << x.first << ": "<< x.second << std::endl;

}

但是我在print语句中遇到了很多错误

'std :: pair'不是来自'const std :: __ cxx11 :: basic_string <_CharT,_Traits,_Alloc>'std :: cout << x.first <<":"<< x.second << std: :ENDL;

Humam Helfaw.. 8

打印声明中的问题.它应该是这样的:

std::cout << x.first << ": "<< x.second.first << ","<< x.second.second  << std::endl;
_______________________________^^^^^^^^^^^^^^__________^^^^^^^^^^^^^^^_______________

你不能直接打印std::pair.您需要单独打印每个项目.

没有ostream& operator<<超载,std::pair但有一个int.



1> Humam Helfaw..:

打印声明中的问题.它应该是这样的:

std::cout << x.first << ": "<< x.second.first << ","<< x.second.second  << std::endl;
_______________________________^^^^^^^^^^^^^^__________^^^^^^^^^^^^^^^_______________

你不能直接打印std::pair.您需要单独打印每个项目.

没有ostream& operator<<超载,std::pair但有一个int.

推荐阅读
贾志军
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有