次のコードは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に移行した経験のある人が助けになるかもしれません。