Я пытаюсь использовать мультикарту в первый раз, но мое приложение не скомпилируется. ТИА Пол ..
// 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: \ program files \ microsoft visual studio 9.0 \ vc \ include \ utility (57): ошибка C2664: 'std :: map <_Kty, _Ty> :: map (const std :: less <_Ty> &) ': невозможно преобразовать параметр 1 из' const std :: pair <_Ty1, _Ty2> 'в' const std :: less <_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 :: pair <_Ty1, _Ty2>' в 'const std :: less <_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> [
1> _Ty1 = const CString,
1> _Ty2 = std :: map
1>]
========== Построение: 0 выполнено, 1 не выполнено, 0 обновлено, 0 пропущено ==========