看看这段代码
int x = 1;
int main(int argc, char* argv[])
{
int x = 2;
{
int x = 3;
cout << x << endl;
cout << ::x;
}
getch();
return 0;
}
当我从块中调用x时我得到3.当我调用:: x时我得到1.是否可以从块中调用x等于2?
答案 0 :(得分:19)
作弊:
int x = 1;
int main(int argc, char* argv[])
{
int x = 2;
{
int& ox = x;
int x = 3;
cout << x << endl;
cout << ::x << endl;
cout << ox << endl;
}
getch();
return 0;
}
答案 1 :(得分:16)
不,这是不可能的。