9

当我编译我正在编写的使用 hash_map 的 c++ 应用程序时,我在 g++ 4.3.2 上收到此警告:

您正在使用已弃用的标头。要消除此警告,请使用 ANSI 标准头文件或使用 hte -Wno-deprecated 编译器标志。

9> #include <ext/hash_map>

什么包括取代这个?我在谷歌上搜索了一段时间,除了有类似问题的人之外找不到任何东西,但没有解决方案。

4

3 回答 3

18

我的第一个 Google 搜索“ g++ hash_map deprecated ”将我带到一个页面,其中包含要使用的内容列表,而不是已弃用的标头和类。

对于hash_map, 该列表建议unordered_mapunordered_map标题中使用 ,。该课程是TR1的新课程。

于 2009-04-06T17:28:44.693 回答
6

我相信新的数据结构被称为unordered_map

<tr1/unordered_map>

std::tr1命名空间中找到。

于 2009-04-06T17:28:49.360 回答
2

包含时,不要忘记添加以下编译器选项;“-std=c++0x”,否则编译会报错

于 2010-03-09T10:02:22.770 回答