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
hash_map<string, float,str_hash> hm;
linux没有hash_map,都是被淘汰的东西,在这里有个东西叫做unorderd_map.