首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > UNIXLINUX >

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

2012-08-28 
linux下的hash_map的使用问题我写了个模版,代码如下:C/C++ code#include ext/hash_map#include iterato

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

[解决办法]
好像是没有这个,得自己实现。
[解决办法]
探讨
//********* 问题所在
HASHMAP_PREFIX::hash_map<Key, Value>::iterator it = m_HashMap.find(k);//问题就出在这行

[解决办法]
加typename试试,防止iterator被当成静态变量了

热点排行