我试图用嵌套的联合和数组在结构声明中初始化数组成员:
struct Nested
{
union
{
short sArray[5] = {42};
float fVal; // Must NOT be initialized - obviously, only 1 member of a union can be
};
double dArray[5] = {77.7};
};虽然代码编译得很好,但在运行/调试代码时,只初始化两个数组的第一个元素。
sArray设置为42,其余元素全部设置为0,dArray设置为77.69999,其余全部设置为0。
我找到的所有其他答案,都是在实例声明中提到初始化,而不是在struct/class声明中提到默认init。我没有看到/发现gnu是否启用了这个语法(对于数组成员也是这样),但是,由于它编译了WO警告,所以我们会认为它应该正确。我做错什么了吗?
编辑:或者我如何简单地初始化我的数组?
https://stackoverflow.com/questions/70698656
复制相似问题