0

私はスイッチステートメントを持っています:

swtich(x)
{
    case 1:
           ...
           break;
    case 2:
           ...
           break;
}

関数にコードを入れ...たいけどブレークも入れたい…だからそういうのが欲しい

void func()
{
     ...;
     break;
}

swtich(x)
{
    case 1:
           func();
    case 2:
           func();
}

Break でエラーが発生します (理由はわかっています) が、どうすればよいでしょうか?

4

4 に答える 4

2

できません。あなたができる最善のことは次のとおりです。

swtich(x)
{
    case 1:
           func();
           break;
    case 2:
           func();
           break;
}

休憩の目的については、こちらを参照してください。

break ステートメントは、それが現れる最も近い囲みループまたは switch ステートメントを終了します。制御は、終了したステートメントの次のステートメントに渡されます (存在する場合)。

それを関数に入れると、どのループまたは switch ステートメントに適用されることになっているかをどのように知るのでしょうか?

于 2012-11-27T19:05:19.227 に答える
2

breakを別のメソッドに入れることはできません。

case 1ただし、同じことをしたい場合case 2、これは合法です:

switch (x)
{
    case 1:
    case 2:
        func();
        break;
}
于 2012-11-27T19:07:33.343 に答える
2

他の人が言ったように、それは不可能です。このように見てください。実行が行に到達したときに switch ステートメント内にいなかった場合、予想される動作はどうなるでしょうbreak;か?

break;関数呼び出しの後にステートメントを置きます。特定の条件下で関数の実行を停止する場合は、return;ステートメントを使用します。

于 2012-11-27T19:08:11.270 に答える
1

関数にブレークを入れないでください。簡潔でシンプル。

switch(x)
{
    case 1:
           func();
           break;
    case 2:
           func();
           break;
}
于 2012-11-27T19:05:45.980 に答える