请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
您好!
我很想知道编译器为什么不警告我、如果分配的值对于位字段来说太大、就会发生截断。 我有以下位字段:
struct packed_tag {
uint32_t lower_word:16;
uint32_t higher_word:16;
}pack0;
我只在以下代码的第一行获得"#70-D:整数转换导致截断"、而不是第二行。 为什么会这样?
uint16_t my_uint = 0x10000U;
pack0.lower_word = 0x10000U;
谢谢你。