Bir zamanlar, birçok ay önce VS6 vardı ve popülerdi. Ancak bir dizi C ++ standardına uymakta başarısız oldu; Standart resmi olarak serbest bırakılmadan hemen önce (aynı yıl) piyasaya sürüldüğü sırada makul olan; ancak benim bildiğim kadarıyla standardın taslağına bağlı kaldı.
Taslak ile resmi standart arasında değişen standartlardan biri, ilk bölümde oluşturulan döngü değişkenlerinin yaşam süresiydi; aşağıdaki kodun derlenememesine yol açar
{
for (int i=0; i<1; ++i){}
for (int i=0; i<2; ++i){}
}
çünkü i
ikinci for döngüsü tarafından yeniden tanımlandı.
Diğer derleyiciler de bu sorunu yaşarken; VS6'yı vurguluyorum çünkü standardın yayınlanmasından sonra birkaç yıl boyunca görsel stüdyonun tek sürümü olarak kaldı, ancak bu özel sayı için hiçbir zaman bir güncelleme yayınlamadı; daha önemli bir etkisi olduğu anlamına geliyor.
Bunun bir çözümü, tüm for döngüsünü sizin de gösterdiğiniz gibi kendi kapsamına zorlamaktır.