c++STL模板有关问题

c++STL模板问题!
G++ 编译 出现的,什么意思?
Vc编译没问题


 错误: ‘std::deque<SEQUENCEPACKETTYPE>::const_iterator’之前需要‘typename’,因为‘std::deque<SEQUENCEPACKETTYPE>’是一个有依赖的作用域


代码如下  
template<typename SEQUENCEPACKETTYPE>
BOOL CPacket<SEQUENCEPACKETTYPE>::GetElement(SEQUENCEPACKETTYPE *pSt_Packet,BOOL IsErrorPacket /* = FALSE */)
{
    NetCore_IsErrorOccur = TRUE;

    deque<SEQUENCEPACKETTYPE>::const_iterator stl_DequeIter;   //错误指向这里!!
------解决方案--------------------
deque<SEQUENCEPACKETTYPE>::const_iterator stl_DequeIter;   //错误指向这里!!

改成 typename deque<SEQUENCEPACKETTYPE>::const_iterator stl_DequeIter;