2

C++の学習を始めたばかりです。スコープ解決演算子に出くわし、このようなプログラムを試しました

#include <iostream>
using namespace std;

int i = 40;
int main(){
    int i = 20;
    {  
        int i = 10;
        cout<< ::i;  // prints 40
        cout<<i;    // prints 10
        cout << i;  // how do i print variable i whose value is 20 
    }
}

しかし、の内部ブロック内の変数 i (i=20) にアクセスしたい場合main()。それ、どうやったら出来るの?出来ますか?これはばかげているかもしれませんが、私は c++ のすべての組み込み関数を認識していません。それで、それを行う方法があるかどうかを知りたかったのです。ありがとう

4

1 に答える 1

1

を使えばできると思いますnamespaces

#include <iostream>
using namespace std;
namespace inner{int i;}
int i = 40;
int main() {
    inner::i = 20;
    {
        int i = 10;
        cout<< ::i;  // prints 40
        cout<<i;    // prints 10
        cout << inner::i; // this prints 20
    }
}

iこれがコード内の複数の 's に使用できることを願っています。

EDITi答えは、内部をグローバル変数にするため、プログラムを意味的に変更します。

于 2013-03-03T07:52:13.123 に答える