0

私は次の方法を持っています:

  char getChar(int I)
  {
    if (I<65+26) return (char)(I);

    switch (I)
    {
      case 91 : return '?';break;
      case 92 : return '#';break;
      default : return ' ';
    }
  }

「到達不能ステートメント」エラーが発生するのはなぜですか?

4

2 に答える 2

5

breakすでにreturn編集した後はできないからです。return「メソッドを終了する」ことを意味します。break「ブロックを出る」という意味です。

あなたが持っている場合:

return '?'; break;

に到達することはbreakできません。

于 2015-05-24T22:44:29.747 に答える
2

コントロールは を経由して構造体 (メソッド全体でさえも) をすでに離れているため、breakの後にステートメントはおそらく必要ありません。returnreturn

switch (I)
{
  case 91 : return '?';
  case 92 : return '#';
  default : return ' ';
}

a の後のものreturnは決して到達しません。

于 2015-05-24T22:44:40.730 に答える