名称查找到刚刚声明的名称的应用程序

Application of name lookup to just declared name

本文关键字:应用程序 查找 声明      更新时间:2023-10-16
int a;//1
int main()
{
    int a;//2
}

如3.4/1所述:

名称查找规则统一应用于所有名称(包括类型名称(7.1.3),命名空间名称(7.3)和类名称(9.1))

因此,对于//2声明将应用名称查找。会找到什么名字?

会找到什么名字?

唯一可能查看的将是声明性区域,以检查a是否没有被无效地重新声明。显然什么也找不到。

此外,在声明名称时不存在(非限定)名称查找,而是在使用名称时。该标准没有提到要声明的名称的非限定名称查找,而是针对特定上下文中使用的名称,例如作为函数调用的后缀表达式的名称。特别地,声明的名称必须满足某些条件,无论它们是局部的、类的还是命名空间的;