#include <algorithm>
#include <iostream>
#include <vector>
#include <map>
#include <string>
using namespace std;
int main() {
int steps;
map<string, string> countries;
cin >> steps;
for (int i = 0; i < steps; ++i) {
string command;
cin >> command;
if(command == "CHANGE_CAPITAL") {
for(auto& s : countries) {
string& old_country = s.first;
string& old_capital = s.second;
}
}
}
}
Привет!Когда я пытаюсь скомпилировать этот код, он выдает мне ошибку:
значение привязки типа 'basic_string <...>' для ссылки на спецификатор типа 'basic_string <...>' drop 'const'
для строки
string& old_country = s.first;
Почему это происходит?(это не выдает эту ошибку для следующей строки - где я использую s.second по ссылке).
Компилятор ISO C ++ 1y (-std = c ++ 1y).
Спасибо.