C++ 嵌套名称说明符的名称查找规则

C++ 嵌套名称说明符的名称查找规则,c++,language-lawyer,qualified-name,C++,Language Lawyer,Qualified Name,我已经阅读了以下内容(3.4.3/1): 如果嵌套名称说明符中的::scope解析运算符不可用 前面有decltype说明符,查找前面的名称:: 仅考虑其专门化的名称空间、类型和模板 都是类型 嵌套名称说明符的查找规则是什么 例如: #include <iostrem> namespace A { int j=5; } int main() { std::cout << A::j //I assume that A will be searched a

我已经阅读了以下内容(3.4.3/1):

如果嵌套名称说明符中的::scope解析运算符不可用 前面有decltype说明符,查找前面的名称:: 仅考虑其专门化的名称空间、类型和模板 都是类型

嵌套名称说明符的查找规则是什么

例如:

#include <iostrem>

namespace A
{
    int j=5;
}

int main()
{
    std::cout << A::j //I assume that A will be searched as just *unqualified-name* appeared inside the function which is a member of namespace
}
#包括
名称空间A
{
int j=5;
}
int main()
{

std::cout是的,它是归纳式的,我想说的是,它只是从措辞上看出来的。首先,让我们根据
的关联性添加完整的括号:

(std::cout) << ((A::B)::j)

(std::cout)@ldgorman我的问题没有答案。有趣的是,就形式语法而言,
A::j
中的
A
实际上并不是一个非限定id…@aschepler那么A是什么意思呢?很清楚,
(A::B)::j
不是有效的代码;括号只是表示解析的工作方式。
(std::cout) << ((A::B)::j)