gpt4 book ai didi

gcc - 如何修复警告: missing braces around initializer?

转载 作者:行者123 更新时间:2023-12-03 07:02:53 24 4
gpt4 key购买 nike

警告是由vala生成的c代码产生的。

warning: missing braces around initializer

代码可以工作,但警告很烦人。警告引用的vala代码是

struct Position {uint x; uint y;}
private static Position positions[8];

生成的C代码是

static Position det_positions[8] = {0};

我尝试了六种不同的方式来初始化位置,但似乎无法获得满足警告的语法。这是GCC bug 53119或者有办法解决吗?

最佳答案

是的,这似乎与 GCC bug 53119 有关。如果将 C 声明更改为 {{0}},它就会消失。您的选择是:

  1. 忽略警告。
  2. 生成后使用 sed 等操作 C 代码,使该行上的 {{0}} 而不是 {0} .
  3. 在 Vala 中声明数组 extern,并在其他地方编写 C 定义。 (#2 的永久版本。)
  4. 执行类似 struct foo { int bar; 的操作位置位置[8];然后 static fooposition_holder{0} 将初始化 position_holder.bar ,这样就可以了,警告就会消失。

关于gcc - 如何修复警告: missing braces around initializer?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13746033/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com