2014年1月2日木曜日

【C++】 'ほげほげ' の初期化が 'case' ラベルによって行われませんでした

C++でswitch文書いててこんなエラーが出ることがある.
「~の初期化が'case'ラベルによって行われませんでした」

これの原因はcaseで区切られた領域のスコープが有効じゃないということ


switch (i){
  case 0:
     hoge1();
     hoge2();
  break;
  
  default:
   break;
}


これを

switch (i){
  case 0:{
     hoge1();
     hoge2();
  }
  break;
  
  default:
   break;
}


こうしてやれば大丈夫.他の言語でもけっこう同じようなエラーが出たりする.

0 件のコメント:

コメントを投稿

ShareThis