Linux包含hash_map和hash_set的not declared问题

来源:互联网 发布:心理学 网络教育 编辑:程序博客网 时间:2024/05/16 10:27

当在Linux下cpp文件包含hash_map或hash_set时,会出现"‘hash_map’ was not declared in this scope"问题。

#include <iostream>#include <string>#include <hash_map>using namespace std;int main(void){hash_map<int, string> hmap;hmap[1] = "hi hdu1";hmap[2] = "hi hdu2";hmap[3] = "hi hdu3";hash_map<int, string>::iterator iter;iter = hmap.find(2);if (iter != hmap.end()){cout << iter->second << endl;}else{cout << "not find" << endl;}return 0;}


原因:hash_map是声明在__gnu_cxx命名空间的,所以只要在程序中添加using namespace __gnc_cxx就可以了^_^

#include <iostream>#include <string>#include <hash_map>using namespace std;using namespace __gnu_cxx;int main(void){hash_map<int, string> hmap;hmap[1] = "hi hdu1";hmap[2] = "hi hdu2";hmap[3] = "hi hdu3";hash_map<int, string>::iterator iter;iter = hmap.find(2);if (iter != hmap.end()){cout << iter->second << endl;}else{cout << "not find" << endl;}return 0;}

0 0
原创粉丝点击