linux下的hash_map的使用问题
我写了个模版,代码如下:
- C/C++ code
#include <ext/hash_map>#include <iterator>#define HASHMAP_PREFIX __gnu_cxxusing namespace std;using namespace HASHMAP_PREFIX;template<typename Key, typename Value>class CHashMapTemp{public: CHashMapTemp(){} ~CHashMapTemp(){} Value Find(Key k) { //********* 问题所在 HASHMAP_PREFIX::hash_map<Key, Value>::iterator it = m_HashMap.find(k);//问题就出在这行 return (Value)NULL; }private:protected: HASHMAP_PREFIX::hash_map<Key, Value> m_HashMap;};
程序始终编译不过去,,如果我标准的那行改成
m_HashMap.find(k)
就可以编译过去。
可是这个代码在WINDOWS下可以编译过去,LINUX下怎么也编译不过去,,到底怎么回事????
[解决办法]
好像是没有这个,得自己实现。
[解决办法]
[解决办法]
加typename试试,防止iterator被当成静态变量了