Names declared in the
init-statement, the
for-range-declaration, and in the
condition of
if,
while,
for, and
switch statements are local to the
if,
while,
for, or
switch statement (including the controlled
statement), and shall not be redeclared in a subsequent condition of
that statement nor in the outermost block (or, for the
if
statement, any of the outermost blocks) of the controlled statement
.