다음 코드는 VC6에서 정상적으로 컴파일되지만 VS2008에서 같은 프로젝트를 컴파일하면 다음과 같은 오류가 발생합니다. 오류 : C2146 : 구문 오류 : ';'가 없습니다. 식별자 'm_pItr'앞에누락; before identifier VC9에서 VC6 코드를 컴파일하는 동안
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
}
무엇이 잘못 되었습니까? VC6에서 VC2005/2008로 C++ 코드를 마이그레이션 한 경험이있는 분이라면 도움이 될 것입니다.
이 매크로는 무엇입니까 PRIMARY_MAP :: iterator? – yesraaj
매크로가 아닙니다. 코드의 typedefin입니다! –
올바른 일치 ..... – yesraaj