我对hash_map
(或unordered_map
)有疑问。在MSVS2008中,我可以定义嵌套的hash_map
,如:
hash_map<int, hash_map<int, float>> nestedHashMap
(省略相应的命名空间。)
我的问题是如何在Linux中定义nestedHashMap
,因为如果我以相同的方式定义,则会出现编译错误。
答案 0 :(得分:2)
C ++ 03需要两个>
符号之间的空格,您需要编写如下代码:
unordered_map<int, unordered_map<int, double> >
C ++ 11修复了这个&#34; bug&#34;。
我猜你编译程序时错过了-std=c++11
。
最新版本的Visual C ++自动启用C ++ 11功能,无需任何命令行选项,但GCC和Clang需要-std=c++11
才能启用C ++ 11功能。