멤버 초기화 목록에서 개체를 초기화 할 수 없습니다 난 비주얼 스튜디오 2008에서 컴파일 할 때는이 코드를
typedef CTypedPtrMap<CMapStringToPtr, CString, CCalculation*> CCalcMap;
CCalcMap& m_calcMap;
,이 얻을 오류 :
error C2440: 'initializing' : cannot convert from 'int' to 'CCalcArchive::CCalcMap &'
"int"오류가 어디에서 발생하는지 이해할 수 없으며, 일하니? 실제로 어떤 종류의 문법 오류가있는 것처럼 느껴지지만 멤버 초기화 목록을 사용하는 방법이 아닌가? 또한, AFAIK, MFC 클래스 CTypedPtrMap
에는 인수를 취하는 생성자가 없습니다.
NULL은 int이며, CCalcMap &로 변환 할 수 없습니다. 포인터는 NULL을 가리킬 수 있지만 참조는 NULL을 참조 할 수 없습니다. –