The potential scope of a parameter
or function-local predefined variable
begins at its point of declaration
. If
the nearest enclosing function declarator
is not the declarator of a function definition,
the potential scope ends at the end of that function declarator
. Otherwise, if
the function has a
function-try-block the potential scope
ends at the end of the last associated handler
. Otherwise the potential scope ends
at the end of the outermost block of the function definition
. A
parameter name shall not be redeclared in the outermost block of the
function definition nor in the outermost block of any handler associated
with a
function-try-block.