[basic.scope.declarative] (original) (raw)

:

In

int j = 24; int main() { int i = j, j; j = 42; }

the identifier j is declared twice as a name (and used twice).

The declarative region of the first j includes the entire example.

The potential scope of the first j begins immediately after that j and extends to the end of the program, but its (actual) scope excludes the text between the , and the}.

The declarative region of the second declaration ofj (the j immediately before the semicolon) includes all the text between { and }, but its potential scope excludes the declaration of i.

The scope of the second declaration of j is the same as its potential scope.

end example