I have to find in mytextmap
the closest value to keymap
, for all keymap
's elements and attach it to each other in a new map <char, char>
called key
(key of key
is key of keymap
, value is key of mytextmap
).
Here my attempt:
for (auto i = keymap.begin(); i != keymap.end();){
int j = ((i->second) / sumkey)*sum;
auto tmp = find_value(mytextmap.begin(), mytextmap.end(), j);
while (tmp->second != j)
{
j--;
tmp = find_value(mytextmap.begin(), mytextmap.end(), j);
}
key[(*tmp).second] = i->second;
i=keymap.erase(i);
mytextmap.erase(tmp);
}
find_value - returns an itterator for element in (map.begin(), map.end()) with value(like j in my code).
There is an error, somewhere. Crash error: "expression map/set iterator not dereferencable.
Problem is not in erase(already fixed). On while-line it crahes. Sting before works, string after - no.