Warum funktioniert die Verwendung des gleichen Zählvariablennamens in verschachtelten FOR-Schleifen?

Warum gibt das Folgende keinen Fehler aus?

for (int i=0; i<10; ++i) // outer loop
{
    for (int i=0; i<10;++i) // inner loop
    {
    //...do something
    }
//...do something else
}

So wie ich es verstehe, sind Variablen in geschweiften Klammern ({...}) nur in diesen geschweiften Klammern enthalten. Die innere Schleife befindet sich jedoch innerhalb der Klammern der äußeren Schleife. Also sobald ich das erkläreint i=0 Sollte ich für die innere Schleife nicht eine Fehlermeldung über mehrere Definitionen erhalten?

Antworten auf die Frage(5)

Ihre Antwort auf die Frage