【发布时间】:2013-07-03 16:47:30
【问题描述】:
当我尝试编译以下代码时
int main()
{
unsigned char uc;
char & rc = uc;
}
g++ 给出以下错误:从“unsigned char”类型的表达式中对“char&”类型的引用进行无效初始化。使用有符号字符而不是无符号字符时也会发生同样的情况。 但是下面的编译很好
int main()
{
unsigned char uc;
const char & rc = uc;
}
为什么不能用 'unsigned char' 类型的变量来初始化 'char &' 而可以用它来初始化 'const char &'?
【问题讨论】:
标签: c++ reference initialization