присвоение char для ссылки на int и ссылки на const int в C ++
Я заметил, что назначениеchar
кconst int&
компилирует, но назначая егоint&
выдает ошибку компиляции.
char c;
int& x = c; // this fails to compile
const int& y = c; // this is ok
Я понимаю, что это не очень хорошая практика, но мне любопытно узнать причину, по которой это происходит.
Я искал ответ, ища «назначение ссылки другого типа», «назначение char для ссылки int» и «различие между константной ссылкой и неконстантной ссылкой», и наткнулся на ряд полезных сообщений (int против const int & , Странное поведение при назначении символа переменной int , Конвертировать char в int в C и C ++ , Разница между ссылкой и константной ссылкой в качестве параметра функции?), но они, похоже, не обращаются к моему вопросу.
Приношу свои извинения, если на этот вопрос уже был дан ответ.