Потому что арифметические операции с байтом неявно кастуют его в инт Нужно кастовать в байт явно и не будет ошибки Пока не выходит за пределы байта
не, я про форму записи. почему в одном случае проходит. то есть дело в выражении "v*2" ?
А задание какое, может компилятор специально не пропускает такую форму
А IDE не пишет в чем дело?
Ну попробуй как выше советовали v = (byte) v*2; Как-то так.
та же самая ошибка. Просто было интересно что за глюк. ладно, спасибо. может компилятор с багами.
Я у себя прогнал, возьми в скобки v*2
У тебя в книжке также кстати выражение в скобках берется
да, так работает
Это не глюк, это неочевидное последствие стандарта
то есть авторы не предусмотрели?
Авторы всё предусмотрели как раз, на это просто чуть дольше и глубже смотреть надо, чтобы понимать, почему
Обсуждают сегодня