Колись багато місяців тому VS6 існував і користувався популярністю. Однак він не відповідав ряду стандартів С ++; що було розумним на той момент, коли він був випущений напередодні (того ж року) стандарт був офіційно випущений; Наскільки я знаю, він все-таки дотримувався проекту стандарту.
Одним із стандартів, який змінився між проектом та офіційним стандартом, був термін експлуатації змінних циклу, створених у першому розділі; що призводить до неможливості компілювати наступний код
{
for (int i=0; i<1; ++i){}
for (int i=0; i<2; ++i){}
}
тому що i
був переосмислений другим для циклу.
Хоча інші компілятори також зазнали цієї помилки; Я виділяю VS6, тому що він залишався єдиною версією візуальної студії протягом декількох років після виходу стандарту, але ніколи не випускав оновлення для цього конкретного випуску; це означає, що це мало більш значний вплив.
Рішення для цього полягає в тому, щоб змусити ціле цикл у власному обсязі, як ви показали.