首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在struct中,嵌套的联合/数组成员默认初始化编译,但没有正确发生吗?

在struct中,嵌套的联合/数组成员默认初始化编译,但没有正确发生吗?
EN

Stack Overflow用户
提问于 2022-01-13 14:57:27
回答 1查看 157关注 0票数 0

我试图用嵌套的联合和数组在结构声明中初始化数组成员:

代码语言:javascript
运行
复制
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警告,所以我们会认为它应该正确。我做错什么了吗?

编辑:或者我如何简单地初始化我的数组?

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70698656

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档