我正在将一些代码从Visual Studio移植到Mingw GCC,我遇到了这种类型
typedef stdext::hash_map<std::string, SubApplication*> SubApplMap;
根据我的理解,这不是标准类型。我遇到了这个thread和this,建议通过执行以下操作将其替换为unordered_map
#include <unordered_map>
#define stdext std
#define hash_map unordered_map
因此我收到以下错误
error: 'hash_multimap' is not a member of 'std'
#define stdext std
^
有关我可以替换此容器的任何建议吗?
答案 0 :(得分:4)
而不是
typedef stdext::hash_map<std::string, SubApplication*> SubApplMap;
我会彻底摆脱所有hash_map
using SubApplMap = std::unordered_map<std::string, SubApplication*>;
而不是尝试使用预处理器宏来玩游戏。
请注意,这需要C ++ 11。