我最近正在學習C++語言。如何訪問其他本地區域的局部變量?
我一直想知道如何在局部區域[2]訪問局部變量「a」來觀察下面的代碼。
如何做到這一點?
#include "stdafx.h"
using namespace std;
///// global area /////
int a = 1;
int _tmain(int argc, _TCHAR* argv[])
{
///// local area[1] /////
int a = 2; //<= how to access this "a" at local area[2]?
cout << "global area [a] : " << ::a << endl;
cout << "local area[1] [a] : " << a << endl;
{
///// local area[2] /////
int a = 3;
cout << "global area [a] : " << ::a << endl;
cout << "local area[2] [a] : " << a << endl;
cout << "local area[1] [a] : " << ?????? << endl;
}
return 0;
}
你試圖在調試器中運行? – NirMH
你爲什麼要這樣?我不確定,但可能會嘗試通過%ebp(x86)的不正確尋址訪問來幫助您。 – user1641854
你根本做不到。如果您在內部作用域中聲明瞭一個影響外部作用域聲明的變量,則外部作用域的變量不可用。唯一的例外是全局範圍內的變量,這要歸功於'::'運算符。 –