Вы не говорите, что это за язык программирования, поэтому невозможно сказать однозначно, однако из сообщения об ошибке ясно, что это:
не является краткимТип ??
является ложным.
Из сообщения об ошибке легко увидеть, что нет, 1
является не литералом, обозначающимshort
, на самом деле это литерал, обозначающий int
.
Опять же, вы не говорите, какой язык вы используете, поэтому невозможно с абсолютной уверенностью сказать, так ли это илинет, но из сообщения об ошибке, это, безусловно, так выглядит.Например, если вы посмотрите на Java, Спецификация языка Java ясно говорит:
Целочисленный литерал имеет тип long
, если к нему добавлена буква ASCII * 1022.* или l
(ell);в противном случае он имеет тип int
(§4.2.1).
Итак, если бы языком в вашем фрагменте кода был Java, то 1
был бы int
.