コンパイラ オプションを 4.0 から 4.2 に変更しました。
今、私はエラーが発生します:
jump to case label crosses initialization of 'const char* selectorName'
4.0で問題なく動作します
何か案は?
コンパイラ オプションを 4.0 から 4.2 に変更しました。
今、私はエラーが発生します:
jump to case label crosses initialization of 'const char* selectorName'
4.0で問題なく動作します
何か案は?
推測ですconst char*
が、switch-case ステートメントの 1 つの中で変数 (おそらく ) を宣言しています。これを修正するには、そのケースを {} でラップする必要があります。
// error
case 1:
const char* a = ...
break;
// OK
case 1:{
const char* a = ...
}
break;
おそらく、すべてを中括弧で囲むことなく、ケース内で変数を宣言します。
case foo:
const char* selectorName;
// ...
break;
次のようにする必要があります。
case foo: {
const char* selectorName;
// ...
break;
}