看看这段代码

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?

===============>>#1 票数: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;
}

===============>>#2 票数:16

不,这是不可能的。

  ask by Andrey Chernukha translate from so

未解决问题?本站智能推荐:

关注微信公众号