c/c++语言开发共享初始化元素不是常数 – 如何解决错误?

点击此链接

我做了:

static const struct attribute const *attrs1= { &foo_attribute.attr, NULL, }; static const struct attribute_group const attr_group = { .attrs = attrs1, }; 

但是得到这些错误:

 error: initializer element is not constant error: (near initialization for 'attr_group.attrs') 

发现这个解决方案,但不明白如何解决它…

编辑:该行触发了错误:

 .attrs = attrs1, 

    是的,另一个struct对象或另一个变量的内容永远不会被视为可以在static对象的初始化器中使用的常量表达式。

    但是你的第一次初始化也是假的。 可能你的意思

     static const struct attribute * const attrs1= &foo_attribute.attr; 

    所以你的第二个初始化会读到类似的东西

     static const struct attribute_group attr_group = { .attrs = &foo_attribute.attr, }; 

      以上就是c/c++开发分享初始化元素不是常数 – 如何解决错误?相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注计算机技术网(www.ctvol.com)!)。

      本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

      ctvol管理联系方式QQ:251552304

      本文章地址:https://www.ctvol.com/c-cdevelopment/522302.html

      (0)
      上一篇 2020年12月9日
      下一篇 2020年12月9日

      精彩推荐