如何在 Linux 中定义嵌套hash_map

How to define nested hash_map in Linux?

本文关键字:嵌套 hash map 定义 Linux      更新时间:2023-10-16

我对hash_map(或unordered_map)有问题。在MSVS2008中,我可以定义一个嵌套hash_map,如下所示:

hash_map<int, hash_map<int, float>> nestedHashMap

(省略相应的命名空间。

我的问题是如何在 Linux 中定义nestedHashMap,因为如果我以相同的方式定义,就会出现编译错误。

C++03 需要在两个>符号之间留一个空格,你需要像这样编写代码:

unordered_map<int, unordered_map<int, double> >

C++11 修复了这个"错误"。

我猜你在编译程序时错过了-std=c++11

最新版本的 Visual C++ 会自动启用 C++11 功能,

无需任何命令行选项,但 GCC 和 Clang 需要-std=c++11才能启用 C++11 功能。