Следующий код прекрасно компилируется в VC6, но когда я компилирую тот же проект в VS2008, он дает следующую ошибку
ошибка C2146: синтаксическая ошибка: отсутствует ';' перед идентификатором 'm_pItr'
template <class pKey, class Data, class pCompare,
class hKey = int, class hCompare = less<hKey>,
class sKey = int, class sCompare = less<sKey>,
class tKey = int, class tCompare = less<tKey>,
class cKey = int, class cCompare = less<cKey>>
class GCache
{
private:
typedef map<pKey, Data, pCompare> PRIMARY_MAP;
PRIMARY_MAP pMap;
PRIMARY_MAP::iterator m_pItr; //error here
//Code truncated
}
Есть идеи, что здесь не так? Может помочь кто-то с опытом переноса кода C ++ из VC6 в VC2005 / 2008.