처음으로 멀티 맵을 사용하려고하지만 앱이 컴파일되지 않습니다. TIA 폴 ..std :: multimap 컴파일 오류
// file dept.h
typedef std::multimap <CString, std::map< CString, CString> > _DeparmentRecord; // also tryied replacing CString with LPCWSTR
_DeparmentRecord DeparmentRecord;
// file dept.cpp
DWORD CIni::AddNameValue(LPCWSTR Section, LPCWSTR Name, LPCWSTR Value)
{
DeparmentRecord.insert(std::make_pair (Section, std::make_pair(Name, Value))); <-- error here
}
C : \ 프로그램 파일 \ 마이크로 소프트 비주얼 스튜디오 9.0 \ VC의 \는 \ 포함 유틸리티 (57) : 오류 C2664 : '표준 : :지도 < _Kty, _Ty> ::지도 (const를 표준 :: 이하 < _Ty> &) '매개 변수 1 변환 할 수 없습니다'표준 : CONST 쌍 < _Ty1, _Ty2> CONST STD '에서': 이하 < _Ty> & '
1>과 1> [ 1> _Kty = CString, 1> _Ty = CString 1> 1> 1> 1> _Ty1 = LPCWSTR, 1> _Ty2 = LPCWSTR 1>] 1>과 1> [ 1> _Ty = CString을 1>] 1> 이유 : CONST STD '로 변환 할 수있다 : 쌍 < _Ty1, _Ty2> '에': CONST STD 덜 < _Ty> ' 1>과 1> [ 1> = _Ty1 LPCWSTR, 1> = _Ty2 LPCWSTR 1>] 1>과 1> [ 1> _Ty = CString 1>] 1>이 변환을 수행 할 수있는 사용자 정의 변환 연산자를 사용할 수 없거나 연산자를 사용할 수 없습니다. 1> c : \ dev \ projects \ migrator \ jobbuilder \ jobbuilder \ ini.cpp (55) : 함수 템플릿 인스턴스화에 대한 참조 'std :: pair < _Ty1, _Ty2> :: pair> (const std :: pair > &)는 ' 1> [ 1> _Ty1 = CONST CString을, 1> _Ty2 = 표준 :지도 1>]
========== 빌드> 1 컴파일되고 : 0 성공, 1 실패, 0 최신, 0 건너 뛰기 ==========
참고 : 섹션의 항목을 _replace_ 업데이트하고 업데이트하지 않습니다. – xtofl
하지만 DepartmentRecord는 멀티 맵입니다. 그렇다면 새로운 항목을 추가하지 않겠습니까? – AngryWhenHungry