#include<iostream>
int a; //1st a
void f()
{
int a; //2nd a
{
int a; //3rd a
// ::a refers to the global a here
// simply a refers to the a inside this namespace
//What should i do to access and modify 2nd a here in this namespace
}
}
我知道要访问全局名称我需要使用:: a但如果我想访问的名称是在函数内部并且我在该函数定义的命名空间内,我该怎么办?
答案 0 :(得分:0)
没有语法可以从内部范围访问第二个a
。您必须事先创建一个唯一的别名,例如:
void f()
{
int a;
{
int& outer_a = a;
int a;
答案 1 :(得分:-1)
您只能访问功能范围内的第二个a
。