首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >GCC缺少带静态模块级别变量的初始化器周围的大括号

GCC缺少带静态模块级别变量的初始化器周围的大括号
EN

Stack Overflow用户
提问于 2015-02-25 06:34:03
回答 1查看 1.6K关注 0票数 1

我收到以下警告:

代码语言:javascript
运行
复制
test.c:8:1: warning: missing braces around initializer [-Wmissing-braces]
 static foo x = {0.0f, 0.0f, 0.0f};
 ^
test.c:8:1: warning: (near initialization for ‘x.a’) [-Wmissing-braces]

我正在用gcc -Wall test.c编译

这是我的代码:

代码语言:javascript
运行
复制
#include <stdio.h>

typedef struct
{
    float a[3];
}foo;

static foo x = {0.0f, 0.0f, 0.0f};

int main()
{
    printf("%lf", x.a[0]);

    return 0;
}

我是否不正确地初始化x?

当我不使用-Wall进行编译时,它可以工作。

EN

回答 1

Stack Overflow用户

发布于 2015-02-25 06:39:04

在形式上,您的初始化应如下所示:

代码语言:javascript
运行
复制
static foo x = {{0.0f, 0.0f, 0.0f}};
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28712689

复制
相关文章

相似问题

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