Всем привет! Пишу код:
int X;
map<string, int> Arr_input_X;
for (int i=0; i < Arr_input_X.size(); ++i)
if (X > Arr_input_X[i])
...
Смысл в том что мне нужно именно так, чтобы был i. Не предлагайте подобное:
for (auto it= Arr_input_X.begin(); it != Arr_input_X.end(); it++)
В четвертой строке if (X > Arr_input_X[i])
ошибка:
error: no match for ‘operator[]’ (operand types are ‘std::map<std::__cxx11::basic_string<char>, int>’ and ‘int’)
Но значение Arr_input_X[i]
ведь int
. Почему ошибка?
Перемещено hobbit из general