« 2006 年第 3 四半期番組所感 | トップページ | 何これ »

2006年10月 4日 (水)

変数の重複宣言

確かに、同名の変数を例えば以下のように宣言することはできない (以下の例は C# で書いたが、他の言語にも当てはまる)。

void Method() {
    for (int x = 0; x < 10; x++)
        DoSomething(x);
    int x;
}

でも、やっぱりこれ、言語仕様としておかしいよな。

C 言語は関数その他ブロックの最初で全ての変数を宣言しなければならないためこの問題は起こらない。Java や C# などの C を発展させた言語は、ブロックの途中でも宣言できるようになったが、途中で宣言しても最初で宣言したかのように重複をチェックするものだから、混乱を招いている。

宣言の重複のチェックは、変数の参照可能範囲のチェックと同じように行われるべきものだ。

あ、Java だとこれは OK なのか。できないものだと思い込んでた。えらいぞ Java。

|

« 2006 年第 3 四半期番組所感 | トップページ | 何これ »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/169172/12143668

この記事へのトラックバック一覧です: 変数の重複宣言:

« 2006 年第 3 四半期番組所感 | トップページ | 何これ »