Я получаю словарь из C # dll в код C ++ / CLI.Я пытаюсь преобразовать словарь в std :: map, который будет в дальнейшем использоваться старым кодом C ++.но я не в состоянии сделать.У меня есть функция, которая будет принимать словарь в качестве параметра и возвращать карту.
Это то, что я пытаюсь сделать-
std::map < std::wstring, std::map<int, int>> Convert(Dictionary<String^, Dictionary<int, int>^>^ myMap)
{
std::map < std::wstring, std::map<int, int>> h_result;
for (std::wstring& stringKey : myMap->Keys)
{
for (std::pair<int, int> intKey : (myMap->Values))
{
h_result.insert(stringKey, intKey);
}
}
return h_result;
}
Я получаю ошибкуво время итерации значений.
ошибка: это основанное на диапазоне выражение для for требует подходящей функции "begin", и ничего не найдено
Может кто-нибудь сказать, что этопроблема здесь?или, если есть лучший способ конвертировать Dictionary^
в std::map
, пожалуйста, предложите мне.
Я новичок в словаре и std :: map.пожалуйста, дайте мне знать, если есть какая-то глупая ошибка с примером кода.