Zuweisen von char zu int reference und const int reference in C ++

Mir ist aufgefallen, dass die Zuweisung eineschar zu einemconst int& kompiliert, weist es aber einemint& gibt einen Kompilierungsfehler aus.

char c;
int& x = c;    // this fails to compile
const int& y = c;    // this is ok

Ich verstehe, dass es keine gute Praxis ist, dies zu tun, aber ich bin gespannt, warum es passiert.

Ich habe nach einer Antwort gesucht, indem ich nach "Zuweisen von Zeichen zu Verweisen unterschiedlichen Typs", "Zuweisen von Zeichen zu Verweisen int" und "Unterschied zwischen Verweisen const und Verweisen non-const" gesucht habe, und bin auf eine Reihe nützlicher Beiträge gestoßen (int vs const int & , Merkwürdiges Verhalten beim Zuweisen eines Zeichens zu einer int-Variablen , Konvertieren Sie char in int in C und C ++ , Differenz zwischen Referenz und Konstantenreferenz als Funktionsparameter?), aber sie scheinen meine Frage nicht zu beantworten.

Ich entschuldige mich, falls dies bereits beantwortet wurde.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage