atribuindo char à referência int e à referência const int em C ++
Notei que atribuir umchar
para umconst int&
compila, mas atribuindo a umint&
dá um erro de compilação.
char c;
int& x = c; // this fails to compile
const int& y = c; // this is ok
Eu entendo que não é uma boa prática fazer isso, mas estou curioso para saber o motivo pelo qual isso acontece.
Eu tenho procurado por uma resposta, procurando por "atribuição de referência de tipo diferente", "atribuindo char a uma referência int" e "diferença entre referência const e não const referência", e se deparou com um número de posts úteis (int vs const int & , Comportamento estranho ao atribuir um char a uma variável int , Converter char em int em C e C ++ , Diferença entre referência e referência const como parâmetro de função?), mas eles não parecem estar abordando a minha pergunta.
Minhas desculpas se isso já foi respondido antes.