2015-05-24 3 views
0

У меня есть следующий метод:Почему этот код получил ошибку «недостижимого утверждения»?

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

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

Почему получить сообщение об ошибке «недостижим заявление»?

+0

И где именно (какая строка) отмечена эта ошибка? – sebap123

ответ

5

Потому что вы не можете break после того, как у вас уже есть return ed. return означает «выйти из метода». break означает «выйти из блока».

Так что если у вас есть:

return '?'; break; 

то break никогда не может быть достигнута.

2

Вы, наверное, не нужно break заявление после return, поскольку управление уже покинул структуру (даже весь метод) по пути return:

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

Все после return никогда не будет достиг.

Смежные вопросы