当前位置: 技术问答>linux和unix
linux下的hash_map的使用问题
来源: 互联网 发布时间:2017-03-10
本文导语: 我写了个模版,代码如下: #include #include #define HASHMAP_PREFIX __gnu_cxx using namespace std; using namespace HASHMAP_PREFIX; template class CHashMapTemp { public: CHashMapTemp(){} ~CHashMapTemp(){} Value Find(Key k) { ...
我写了个模版,代码如下:
程序始终编译不过去,,如果我标准的那行改成
m_HashMap.find(k)
就可以编译过去。
可是这个代码在WINDOWS下可以编译过去,LINUX下怎么也编译不过去,,到底怎么回事????
#include
#include
#define HASHMAP_PREFIX __gnu_cxx
using namespace std;
using namespace HASHMAP_PREFIX;
template
class CHashMapTemp
{
public:
CHashMapTemp(){}
~CHashMapTemp(){}
Value Find(Key k)
{
//********* 问题所在
HASHMAP_PREFIX::hash_map::iterator it = m_HashMap.find(k);//问题就出在这行
return (Value)NULL;
}
private:
protected:
HASHMAP_PREFIX::hash_map m_HashMap;
};
程序始终编译不过去,,如果我标准的那行改成
m_HashMap.find(k)
就可以编译过去。
可是这个代码在WINDOWS下可以编译过去,LINUX下怎么也编译不过去,,到底怎么回事????
|
加typename试试,防止iterator被当成静态变量了
|
好像是没有这个,得自己实现。
|
如果编译不通过,具体报错信息是?
第二,请给出你使用 g++ version ,电脑64位吗?