封装含有std:map的模板类遇到的有关问题,无法定义iterator

封装含有std::map的模板类遇到的问题,无法定义iterator
封装一个类模板类,其中有个成员是std::map

template <class   KEY,class   VALUE>
class   CMyMap
{
public:
    ...
    void*   Lookup(KEY   key);
    std::map <KEY,VALUE>   moContent;
    ...
}

template <class   KEY,class   VALUE>
inline   void*   CMyMap <KEY,VALUE> ::Lookup(KEY   key)
{
BOOL   lbResult   =   FALSE;

CAutoLock   moAutoLock(mstrAccessCritcalSection);

                  //这一行会报错
std::map <KEY,VALUE> ::iterator   loContentIterator;

loContentIterator   =   moContent.find(key);
if(loContentIterator   ==   moContent.end())
。。。。
}
在Linux下编译会提示error:   expected   `; '   before   "loContentIterator "。
不知道是什么原因,如何解决。整了两天了,请高手指点。


------解决方案--------------------
std::map <KEY,VALUE> ::iterator loContentIterator;
改为:
typename std::map <KEY,VALUE> ::iterator loContentIterator;