[expr.prim.id.qual] (original) (raw)

7 Expressions [expr]

7.5 Primary expressions [expr.prim]

7.5.5 Names [expr.prim.id]

7.5.5.3 Qualified names [expr.prim.id.qual]

A declaration that uses a declarative nested-name-specifiershall be a friend declaration or inhabit a scope that contains the entity being redeclared or specialized.

The nested-name-specifier ​::​ nominates the global namespace.

If a nested-name-specifier Nis declarative and has a simple-template-id with a template argument list Athat involves a template parameter, let T be the template nominated by N without A.

T shall be a class template.

If the nested-name-specifier is not declarative, the entity shall not be a template.

The type of the expression is the type of the result.

The result is an lvalue if the member is

and a prvalue otherwise.