【发布时间】:2012-12-08 18:21:09
【问题描述】:
我注意到将 char 分配给 const int& 会编译,但将其分配给 int& 会产生编译错误。
char c;
int& x = c; // this fails to compile
const int& y = c; // this is ok
我知道这样做不是一个好习惯,但我很想知道它发生的原因。
我通过查找“分配给不同类型的引用”、“将 char 分配给 int 引用”和“const 引用和非 const 引用之间的区别”来寻找答案,并且遇到了许多有用的帖子(int vs const int&,Weird behaviour when assigning a char to a int variable,Convert char to int in C and C++,Difference between reference and const reference as function parameter?),但他们似乎没有解决我的问题。
如果之前已经回答过,我深表歉意。
【问题讨论】:
-
@downvoter 你介意解释一下原因吗?我想在这里学习如何提高我的问题的质量,因为我计划定期访问这个网站。 :)
标签: c++ reference casting constants c++03