gpt4 book ai didi

c++ - 'hash_map' 未在此范围内使用 g++ 4.2.1 声明

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:01:01 24 4
gpt4 key购买 nike

我正在尝试使用 sgi hash_map。

#include <list>
#include <iostream>
#include <string>
#include <map>
#include <cstring>
#include <tr1/unordered_map>
#include <ext/hash_map>


using namespace std;
struct eqstr
{
bool operator()(const char* s1, const char* s2) const
{
return strcmp(s1, s2) == 0;
}
};


int main()
{
hash_map<const char*, int, hash<const char*>, eqstr> months;

months["january"] = 31;
months["february"] = 28;
months["march"] = 31;
months["april"] = 30;
months["may"] = 31;
months["june"] = 30;
months["july"] = 31;
months["august"] = 31;
months["september"] = 30;
months["october"] = 31;
months["november"] = 30;
months["december"] = 31;

cout << "september -> " << months["september"] << endl;
cout << "april -> " << months["april"] << endl;
cout << "june -> " << months["june"] << endl;
cout << "november -> " << months["november"] << endl;
}

在 gcc4.2 上我得到了错误

listcheck.cc: In function 'int main()':
listcheck.cc:22: error: 'hash_map' was not declared in this scope
listcheck.cc:22: error: expected primary-expression before 'const'
listcheck.cc:22: error: expected `;' before 'const'
listcheck.cc:24: error: 'months' was not declared in this scope

而相同的代码使用 3.4 编译。

最佳答案

使用 <unordered_map> . hash_map 是供应商特定的扩展,由 unordered_map 取代。

关于c++ - 'hash_map' 未在此范围内使用 g++ 4.2.1 声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2083969/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com