#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を使用する必要がありますが、アクセスしたい名前が関数内にあり、その関数で定義された名前空間の内側にある場合はどうすればよいですか?変数 'a'にアクセスするにはどうすればよいですか?
なぜ複数のレベルで表示される同じ名前を使用していますか? C++では、変数名と型名に多くの文字を使用できます。コードを読みやすく保守しやすくするために、そしてスコープの問題のために愚かな間違いを避けるために、異なる名前を使用しないことはばかげている。 –
@KenWhite私はこれを行うべきではないことを知っています。私はこれについて学びたいと思っていました。 – rimiro
@rimiro第3宣言によって隠されているので、 'a'の第2宣言にアクセスすることはできません。 – user0042