¿Por qué lo siguiente no da un error?¿Por qué funciona el uso del mismo nombre de variable de conteo en bucles FOR anidados?
for (int i=0; i<10; ++i) // outer loop
{
for (int i=0; i<10;++i) // inner loop
{
//...do something
}
//...do something else
}
La manera en que yo entiendo, las variables entre llaves ({...}) son en su alcance sólo dentro de estos aparatos. Pero el bucle interno está dentro de las llaves del bucle externo. Entonces, tan pronto como declaro int i=0
para el ciclo interno, ¿no debería obtener un error sobre las definiciones múltiples?
Como probablemente ya lo hace ahora, mientras funciona, no debería hacerlo. Puede resultar en menos legibilidad y algunos errores muy desagradables. – helpermethod