2017-02-03 4 views
1

私のコードにこれがありますが、この部分を実行すると無視されます。 これはちょうどそこにある関数の一部ではなく、この括弧を削除するとコードは機能しません。 なぜこれらの括弧がありますか?これらの{}は、コードの途中にある場合はどういう意味ですか?それは無視されていますか?

bool result = 0; 
unsigned int n_comparisons = 0; 
{ // what are they for ? 
for(int i = 0; i < len; i++) 
    array[i] = i; 
bool result = search<float>(array, len, len/2, n_comparisons); 
}// what are they for ? 

私の悪い英語を申し訳ありません。

+0

については、こちらをご覧ください。この場合、変数 'result'は同じスコープ内で2回宣言されるので、コードを削除しても*コンパイルされません。しかし、実際には、2番目の宣言はどのような場合でもエラーであるように見えます。完全な意図を理解せずに言うことはできません。 – AnT

答えて

2

ローカルスコープを識別します。たとえば、あなたがリストされているブール値だけ、この範囲内に存在する:「私は、これはコードのdoesntの仕事をブラケット削除した場合や、」

{ 
    bool result = ... 
} 
cout << result; // Error! no such variable. 

がスコープhere.

+0

ああ、それはたくさん説明します。ありがとうございました! – kirekhar

関連する問題