とてもシンプルなSwitch文のコードを書いていた時に謎のエラーが発生。
error: expected expression before ‘int’
デバッカは、intの宣言がおかしいと言うのです。
int n;
switch (n) {
case 0:
int x = 1;
break;
}
当初このように記述。
しかし、他のSwitch文では問題が発生しないなど、とても謎でした。
散々調べた結果、ようやく救世主的な記事を発見!
http://programmershigh.org/~marvel/blog/?p=281
int n;
switch (n) {
case 0:
;
int x = 1;
break;
}
これで通るとのこと。半信半疑で試してみたところすっきり通りました。
バグなのか何なのかは詳しく分かりませんが、不思議な事もあるものです。







