У меня есть ошибка, я не могу понять, где это происходит:
Я использую карту с векторами:
map<vector<string> , vector<string> > parameterMap;
потому что мне нужно несколько из них (сколько определяется во время выполнения), я поместил их в список (вектор):
объявление вектора в начале метода:
vector<map<vector<string> , vector<string> > > listedParameterMap;
вставка карты в вектор:
listedParameterMap.insert(listedParameterMap.end(), 1, parameterMap);
Эта процедура отлично работает в первый раз. Второй раз (карта заполнена правильно) не работает.
Я заметил одну вещь: я выдаю размер карты:
cout << "listedParameterMap " << listedParameterMap.size();
показанный размер равен 2 после второго раза, часы говорят, что все еще 1
Это также показывает мне проводной контент:
Скриншот:
Last
должен содержать что-то похожее на First
Вторая карта, которая вставлена, правильно заполнена.
То же самое для векторов: part1_input
и part2_output
Код:
for (unsigned int index = 0; index < part1_input.size(); index++) {
map<vector<string> , vector<string> > parameterMap;
parameterMap.insert
(pair<vector<string> , vector<string> > (part1_input[index], part2_output[index]));
listedParameterMap.insert(listedParameterMap.end(), 1, parameterMap);
cout << "listedParameterMap " << listedParameterMap.size();
}
Я действительно буду признателен за любые идеи, почему это происходит ...
EDIT:
«Решение» печатало материал. В окне наблюдения не отображаются правильные значения. Это означает, что моя проблема вызвана где-то еще. Но это здесь есть. Спасибо всем, кто пытался мне помочь!