【发布时间】:2014-06-02 12:02:37
【问题描述】:
我已阅读以下内容 (3.4.3/1):
如果嵌套名称说明符中的 :: 范围解析运算符不是 前面有一个 decltype 说明符,查找该名称之前的名称 :: 仅考虑其特化的名称空间、类型和模板 是类型。
nested-name-specifier 的查找规则是什么?
例如:
#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
}
第二个例子:
namespace A
{
namespace B
{
int j=5;
}
}
int main()
{
std::cout << A::B::j
}
在第二个示例中,A::B 是否会在命名空间内被视为限定名称? IE。我们可以归纳地定义 nested-name-specifier 查找的规则。但我在标准中找不到类似的东西。是真的吗?
【问题讨论】:
-
@ldgorman 我的问题没有答案。
-
有趣。就形式语法而言,
A::j中的A实际上并不是 unqualified-id.... -
@aschepler 那么 A 是什么意思?
标签: c++ language-lawyer qualified-name