switchステートメントからこのケースラベルにジャンプできず、ジャンプは変数の初期化をバイパスします
Cant Jump From Switch Statement This Case Label
switchステートメントからこのケースラベルにジャンプできません
バイパス変数の初期化をスキップします
当時私はそれを書いていました。
switch(val){ case 1: ... break case 2: int b = 1 ... break case 3: ... break default: break }
in case 3
with default
タイトルに2つのエラーがあります。
最後に、ブランチ内の変数を初期化したことがわかりました。
同じコードがVSで呼び出されます
エラーC2360「b」の初期化は「case」タグによってスキップされます
エラーC2361「デフォルト」タグは「b」の初期化をスキップします
1、最も簡単なのは、ケースを{}で囲むことです。
case 2:{ int b = 1 ... break }
2、関連する操作を関数に入れて、閲覧するのも便利です
case 2: func() break
3、スイッチの前に初期化を置きます
int b switch(val){ case 2: b = 1 ... break default: break }