首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >名称中的限定名查找

名称中的限定名查找
EN

Stack Overflow用户
提问于 2014-06-04 17:27:30
回答 1查看 236关注 0票数 1

我想了解名称空间限定名称查找规则。我试着在这个例子中这样做:

代码语言:javascript
复制
namespace A
{
    int a=::b; //error: ‘::b’ has not been declared
}
int b=6;

我在推理中引用了一句话(3.4.3.2/2 N3797):

对于名称空间X和名称m,命名空间限定查找集S(X,m)定义如下:设S (X,m)是X中m的所有声明的集,以及X (7.3.1)的内联命名空间集。如果S(X,m)不是空的,则S(X,m)是S (X,m);否则,S (X,m)是使用X中的-指令及其内联命名空间集命名的所有命名空间Ni的S(X,m)的并。

X成为一个全局范围。我们有那个S(X,b)={int b=6}。这意味着名称查找必须成功。但事实上,这个计划是不正确的。我不能正确理解这条规则吗?

EN

回答 1

Stack Overflow用户

发布于 2014-06-04 17:31:54

B在全局范围内,但必须在使用它的位置之前声明。喜欢

代码语言:javascript
复制
int b=6;
namespace A
{
    int a=::b; 
}

(N 3690 Draft) 3.4.1 Unqualified name lookup 4. A name used in global scope, outside of any function, class or user-declared namespace, shall be declared before its use in global scope.

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24043802

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档