【问题标题】:How to get rid of g++ hash_map deprecation warning?如何摆脱 g++ hash_map 弃用警告?
【发布时间】:2010-10-17 20:49:36
【问题描述】:

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

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

9> #include <ext/hash_map>

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

【问题讨论】:

  • 为什么这个人的问题被编辑以匹配答案?

标签: c++ g++ hashmap deprecated


【解决方案1】:

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

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

【讨论】:

  • 出于某种原因,我在 Google 上得到了不同的结果,但这是一个完美的回应。谢谢!
  • 我想我刚刚对 Google 进行了更好的培训,了解我想看到什么样的结果。编码愉快。
  • 我在谷歌上的第一个查询就是这个问题...该死的,海森堡! (威胁地在空中挥舞着我的拳头)
  • 另请注意,这是 C++11 的一项功能,因此您可能需要在编译器中启用此功能。
【解决方案2】:

我相信那个新的数据结构叫做unordered_map

<tr1/unordered_map>

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

【讨论】:

    【解决方案3】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-11-04
      • 2016-02-04
      • 2018-03-12
      • 1970-01-01
      • 2011-09-22
      • 2017-01-25
      • 1970-01-01
      相关资源
      最近更新 更多