Тип целочисленного литерала — int
, а не const int
, согласно стандарту C++03, пункт 2.12.1.2.
Тип целочисленного литерала зависит от его формы, значения и суффикса. Если он десятичный и не имеет суффикса, он имеет первый из этих типов, в которых может быть представлено его значение: int, long int;...
Обновить
Другим релевантным правилом вывода типа может быть 14.8.2.1.2.
Если P не является ссылочным типом:
[...]
— Если A является cv-квалифицированным типом, cv-qualifiers верхнего уровня типа A игнорируются для вывода типа.
Если P является cv-квалифицированным типом, cv-квалификаторы верхнего уровня типа P игнорируются для вывода типа.
Если P является ссылочным типом, тип, на который ссылается P, используется для вывода типа.
Код, предоставленный OP, даже не будет компилироваться, потому что незаконно привязывать неконстантную ссылку к rvalue.
person
Andrey
schedule
13.08.2012