如果你的unordered_map头文件报错请看这里


请将include<unordered_map>头文件换成下面代码

 1 #if(__cplusplus == 201103L)
 2 #include <unordered_map>
 3 #include <unordered_set>
 4 #else
 5 #include <tr1/unordered_map>
 6 #include <tr1/unordered_set>
 7 namespace std
 8 {
 9     using std::tr1::unordered_map;
10     using std::tr1::unordered_set;
11 }
12 #endif

这个解决方法主要是依靠 __cplusplus 这个宏在不同C++版本中的值不同。 对于(能够使用且)使用了 -std=c++0x 或者 -std=c++11 编译选项的编译过程,__cplusplus 的值是 201103L,否则则是其他值。

结论

上述方法最低大概只能支持到C++98这个标准了,因为到了C++98才开始有tr1/unordered_map,所以你的编译器如果连C++98都不支持的话,那就乖乖用远古时代流传至今的map吧。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM