Date: Sat, 29 Nov 2025 23:42:48 +0100
On 11/29/25 15:04, Russell Shaw via Std-Discussion wrote:
> Hi,
>
> In [basic.lookup.unqual]:
>
> **********************************************
>
> An unqualified search in a scope S from a program point P includes the results
> of searches from P in
> — S, and
> — for any scope U that contains P and is or is contained by S, each namespace
> contained by S that is nominated by a using-directive that is active in U at P.
>
> **********************************************
>
> namespace A {
> int a;
> }
>
> namespace S {
> namespace T {
> namespace U {
> using namespace A;
> int p = a;
> }
> }
> }
>
> int main()
> {
> }
>
> **********************************************
>
> "namespace A" is not contained in "namespace S". So what does the second
> statement mean ?
There are no (grammatical) statements in your example, except for the
empty block of "main".
And you're missing the recursion in the next sentence:
"If no declarations are found, the results of the unqualified search are the
results of an unqualified search in the parent scope of S, if any, from P ."
The scope S here is the global scope, which contains both A and the scope U
in which the using-directive is active.
Jens
Jens
> Hi,
>
> In [basic.lookup.unqual]:
>
> **********************************************
>
> An unqualified search in a scope S from a program point P includes the results
> of searches from P in
> — S, and
> — for any scope U that contains P and is or is contained by S, each namespace
> contained by S that is nominated by a using-directive that is active in U at P.
>
> **********************************************
>
> namespace A {
> int a;
> }
>
> namespace S {
> namespace T {
> namespace U {
> using namespace A;
> int p = a;
> }
> }
> }
>
> int main()
> {
> }
>
> **********************************************
>
> "namespace A" is not contained in "namespace S". So what does the second
> statement mean ?
There are no (grammatical) statements in your example, except for the
empty block of "main".
And you're missing the recursion in the next sentence:
"If no declarations are found, the results of the unqualified search are the
results of an unqualified search in the parent scope of S, if any, from P ."
The scope S here is the global scope, which contains both A and the scope U
in which the using-directive is active.
Jens
Jens
Received on 2025-11-29 22:42:55
