6 Basics [basic]

6.4 Scope [basic.scope]

6.4.4 Function parameter scope [basic.scope.param]

A function parameter (including one appearing in a lambda-declarator) or function-local predefined variable ([dcl.fct.def]) has function parameter scope.
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.