读书人

linux hash_maplt;string, doublegt;调用f

发布时间: 2012-02-22 19:36:56 作者: rapoo

linux hash_map<string, double>,调用find(string)方法出错?
代码如下:

C/C++ code
#include <string>#include <ext/hash_map>using namespace std;using namespace __gnu_cxx;int main(int argc, char** argv){  hash_map<string, float> hm;  hm.insert(pair<string,float>(string("aaa"), 2.9));  string tmp = "aaa";  hm.find(tmp); //这里报错了,hashtable.h:596 错误:xxxxxxxxx 调用没有匹配??????  return 0;}


哪位大侠知道是怎么回事呢?

[解决办法]
探讨

引用:
代码如下:
C/C++ code

#include <string>
#include <ext/hash_map>

using namespace std;
using namespace __gnu_cxx;

int main(int argc, char** argv)
{
hash_map<string, float>……

[解决办法]
定义的时候这样:
C/C++ code
hash_map<string, float,str_hash> hm;
[解决办法]
linux没有hash_map,都是被淘汰的东西,在这里有个东西叫做unorderd_map.

读书人网 >UNIXLINUX

热点推荐