Декларация работает, когда я объявляю итератор так:Ошибка в описании итератора в STL карте
map<string,int>::iterator it, temp;
Но что происходит, когда я объявляю это следующим образом?
map<string,int>temp, ::iterator it;
Это показывает error: expected initializer before 'it'
Почему это вызывает ошибку?
Потому что это недопустимо C++. Вы не можете просто писать, как хотите, вы должны следовать правилам языка. –
Разве обе декларации не похожи? –
Почему это так? Вопрос нелогичен? –