【发布时间】:2026-01-05 08:35:01
【问题描述】:
当我尝试编译这段代码时
struct T
{
unsigned char x;
};
int main()
{
unsigned char a = 10;
unsigned char b = 1;
T t = {a + b};
return 0;
}
我得到这个错误:
错误:将 '(((int)a) + ((int)b))' 从 'int' 缩小到 {}内的'unsigned char' [-Wnarrowing]|
谁能解释一下为什么?
【问题讨论】: