Talk:cpp/language/qualified lookup
From cppreference.com
This is complete nonsense:
"When a qualified name is used as a declarator, then lookup of all names used in the same declarator that follow that qualified name, but not the names that precede it, is performed as if qualified the same way:"
struct A {}; struct B { B(A); }; B::B(A) {} // lookup for this A is not performed as if it's qualified as B::A!
In any event, what is it doing here? It seems to be trying to combine [basic.lookup.unqual]/6 and /8's two "following the declarator-id" cases, but what exactly is an unqualified lookup rule doing in a page about qualified lookup? And in any event, it's incomplete; every part of an out-of-class member definition after the declarator-id is subject to class-scope lookup, not just the declarator. T. Canens (talk) 07:45, 22 December 2016 (PST)
- looks like I added that. I must have stumbled on that C::X C::arr[number], brr[number]; example with two different lookups for number and tried to put words around it. I agree it should go into cpp/language/unqualified_lookup and that the function declarators prove the wording wrong. (it should also switch class to struct or it doesn't compile because C::X is private) --Cubbi (talk) 08:06, 22 December 2016 (PST)
- ah, it was my paraphrase of basic.lookup.qual/3 --Cubbi (talk) 08:12, 22 December 2016 (PST)