[C++]switch文からこのケースラベルにジャンプできない
2022-02-25 03:40:39
switch (i) {
case 1:
disk d = tower1.pop();
break;
case 2:
disk d = tower2.pop();
break;
case 3:
disk d = tower2.pop();
break;
}
SEP lab3では、switch文からこのケースラベルにジャンプできないというエラーが報告されました。
このクエリには、あるケースで宣言された変数は、明示的に{}ブロックを使用しない限り、後続のケースでも見えるという情報がありますが、初期化コードは別のケースに属するため、初期化されません。
ここではほとんどcase2に飛ぶようなものですが、ディスクdの初期化はすでに上のケースで行われています。初期化を先頭に置いて、以下のように修正します。
disk d;
switch (from) {
case 1:
d = tower1.pop();
break;
case 2:
d = tower2.pop();
break;
case 3:
d = tower2.pop();
break;
参考
https://stackoverflow.com/questions/5685471/error-jump-to-case-label
関連
-
C++がpythonを呼び出す
-
C++のostreamの詳細な使用方法
-
void* から char* への無効な変換」および「文字列定数から 'char*' への非推奨の変換」を解決 "
-
error: label 'xxxxxxx' [-fpermissive] にジャンプします。
-
C++: エラー C2280: 削除された関数を参照しようとしています。
-
C++共通ライブラリ関数一覧
-
ランタイムエラー: 'std::logic_error' のインスタンスを投げた後に terminate が呼び出されました。
-
c/c++の "undefined reference to "の解決法
-
C言語におけるint8_t, int16_t, int32_t, int64_t, uint8_t, size_t, ssize_tの相違点
-
C++】「不完全なクラス型へのポインタは許可されません」を解決する方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
c++ プログラミング プロンプトの関数定義はここでは許可されません。
-
エラー: ローカル変数 'res' に関連付けられたスタックメモリのアドレスが返された
-
error: '&' トークンの前にイニシャライザーがあるはずです。
-
gccコンパイルエラーの一覧
-
警告: この関数では 'p' が初期化されていない状態で使用されることがあります。
-
C++プロジェクトのコンパイル時に再定義の多重定義問題を解決する
-
"エラー:不完全なクラス型へのポインタは許可されません。"の前方宣言。
-
ベクター使用時、ベクター添え字が範囲外、その他類似のエラーが発生する。
-
C++17のstd::optionalについて
-
CMakeコマンド