当我尝试编译以下代码时
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 &”?