スイッチ/ケースブロック内でローカル変数を宣言する興味深い方法があります。代わりに、すべてのケースブロック内のブレースを使用しての、あなたが書くことができます。
switch (action) {
int res;
int value;
case ACTION_OPEN:
res = open(...);
...
break;
case ...
}
をので、私はgccのサポートのほかにどのようなC/C++コンパイラ、この建設だろうか?それは一般的なフォールスルーのように見えます。この建設に関するコメントは大歓迎です!
+1これが法的なC++かコンパイラの事故かどうかを調べるためだけです。許可されていると便利です。 –
より簡単な方法は、11年以上前のCコンパイラの使用をやめることです。 –
しかし、時折フォールスルーを除いて、私はまだより多くのローカルスコープのためにすべてのケースブロックの中括弧を好む。それは味の問題です。 – stefaanv