在vc6编译没有问题的代码,vc7编译通不过?
出错代码如下:
hList.h(1022) : error C2143: 语法错误 : 缺少“;”(在“hList<TYPE,KEYTYPE,HASHGEN>::insert”的前面)
1022行:
template< typename TYPE, typename KEYTYPE, typename HASHGEN >
hList<TYPE, KEYTYPE, HASHGEN>::iterator hList<TYPE, KEYTYPE, HASHGEN>::insert( iterator& iter, const TYPE& Item )
{
ID id = GetUsableID();
m_aItemInfo[id].Item = Item;
_ASSERT( m_aItemInfo[id].Prev == NULL_ID && m_aItemInfo[id].Next == NULL_ID );
_ASSERT( iter != end() );
ID prevID = m_aItemInfo[ iter.m_CurrentID ].Prev;
ID nextID = iter.m_CurrentID;
_ASSERT( nextID != NULL_ID );
m_aItemInfo[ id ].Prev = prevID;
m_aItemInfo[ id ].Next = nextID;
if( prevID == NULL_ID )
{
m_BeginID = id;
}
else
{
m_aItemInfo[ prevID ].Next = id;
}
m_aItemInfo[ nextID ].Prev = id;
iterator tempiter( this, id );
return tempiter;
}