The C++ Committee tries to do all that other programmers could not understand the Standard. Moreover the Committee openly ignores proposals that were submitted by non-members of the Committee
If do not take into account these confusing statements and to apply the common sense then the declarative region either a namespace, function scope or code block scope and so on (for example class scope).
The declarative region of the second j is the outermost code block of the function. In fact in the Standard there is written
The declarative region of the second declaration of j (the j
immediately before the semicolon) includes all the text between { and
}, but its potential scope excludes the declaration of i.
"all the text between { and }" corresponds to the outermost code block of the function.
So the declarative region is the region (namespace, function scope, code block scope or even function parameter scope) where the variable is declared and could be used as unqualified name. However its potential scope begins from the point of the declaration.
Thus the declarative region is always greater than or at least equal to the potential scope of a variable.