コンパイルにchar
aを割り当てると、コンパイルエラーが発生することに気付きました。const int&
int&
char c;
int& x = c; // this fails to compile
const int& y = c; // this is ok
これを行うのは良い習慣ではないことは理解していますが、それが発生する理由を知りたいと思います。
「異なるタイプの参照への割り当て」、「int参照へのcharの割り当て」、「const参照とnon-const参照の違い」を探して答えを検索し、多くの有用な投稿(int vs const int&、 int変数にcharを割り当てるときの奇妙な動作、CおよびC ++でcharをintに変換、関数パラメーターとしての参照とconst参照の違い?)、しかし、それらは私の質問に対処していないようです。
これが以前にすでに答えられているならば、私の謝罪。