08 7月 2009

[C/C++] switch中的case中,放變數宣告會錯!?

相信很多寫C/C++的人一定有這樣的經驗,就是在switch的case中寫入變數的宣告,結果compile卻不會過,一定會覺得很莫名奇妙,而且錯誤訊息千奇百怪...

其實,是可以在switch裡的case中宣告變數的,只是要記得在前後加上 { ... }
Ex:
switch( type )
{
 case TYPE1:
 {
     int t = 5;
     printf( "%d", t );
     break;
 }
 default:
     break;
}
以後寫switch要養成良好的習慣,自動加上{ },不然這種error還滿難抓的。

沒有留言: