linux上的hash_地图的使用有关问题

linux上的hash_地图的使用有关问题

linux下的hash_map的使用问题
我写了个模版,代码如下:

C/C++ code


#include <ext/hash_map>
#include <iterator>
#define HASHMAP_PREFIX __gnu_cxx

using 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下怎么也编译不过去,,到底怎么回事????


好像是没有这个,得自己实现。

探讨

//********* 问题所在
HASHMAP_PREFIX::hash_map<Key, Value>::iterator it = m_HashMap.find(k);//问题就出在这行


加typename试试,防止iterator被当成静态变量了

linux上的hash_地图的使用有关问题

相关文章:

你感兴趣的文章:

标签云: