Прочитайте и измените глобальный std::map в исполняемом файле через введенную dll
Я ввел dll в исполняемый файл с несколькими установленными хуками функций. Исполняемый файл имеет глобальную переменную std:: map, объявленную как
std::map<int, int> g_lenMap;
Я знаю, что это адрес из разборки. Мне нужно вставить пару ключ / значение в эту карту (или каким-то образом функцию hook::find(), которая для меня выглядит намного иначе).
Однако самый очевидный способ не работает:
std::map<int,int>* g_lenMap;
g_lenMap = (std::map<int,int> *) 0x4D7480;
int result = (*g_lenMap)[100];
Он выдает "сопоставить / установить итераторы несовместимыми" assert. Я могу легко читать и изменять другие глобальные переменные / структуры, но не std::map. Что я делаю неправильно?