訪問具有相同名稱的變量隨着在不同的範圍
#include <iostream>
using namespace std;
int a = 1;
int main()
{
int a = 2;
if(true)
{
int a = 3;
cout << a
<< " " << ::a // Can I access a = 2 here?
<< " " << ::a << endl;
}
cout << a << " " << ::a << endl;
}
具有輸出
3 1 1
2 1
是否有訪問的「a」等於2的if語句裏面,其中有一種方法的 'a' 等於3,與輸出
3 2 1
2 1
注意:我知道ŧ他的應該沒有完成(和代碼不應該達到我需要問的地步)。這個問題更多「可以它完成」。
我不知道是否有語法(我懷疑它),但請注意,在實踐中,因爲兩個變量都在同一個函數中,您將*總是*控制它們兩個,所以你可以自由只需重命名其中一個... –
簡單。重命名變量a1 a2 a3重建它現在可以工作。嚴重的是,即使它被允許,它也會出現在每個編碼標準的不良練習部分。爲每個變量使用唯一的名稱。 –