结构体内不定长数组初始化,error: #1077: an initializer cannot be specified for a flexible array member
来源:互联网 发布:c语言吊死鬼游戏 编辑:程序博客网 时间:2024/05/16 01:49
转载出处:STM32Cube原文
问题描述
最近用NRF24L01的驱动发现一个很特别的结构体,原来是孤陋寡闻了,这个事C99新增的标准,
但是在keil4.7中始终编译报错!
提取出来报错的代码如下:
typedef struct { char *name; unsigned char size; unsigned char rw;} nrf_reg_bits;typedef struct { unsigned char count; nrf_reg_bits data[];} nrf_reg_fields;nrf_reg_fields nrf_reg_config_fields = { .count = 7, .data = { REGF("PRIM_RX", 1, 1), REGF("PWR_UP", 1, 1), REGF("CRCO", 1, 1), REGF("EN_CRC", 1, 1), REGF("MASK_MAX_RT", 1, 1), REGF("MASK_TX_DS", 1, 1), REGF("MASK_RX_DR", 1, 1), },};
或者类似下面的初始化怎么才能在keil4中编译通过,我已经设置了–C99了,还是报错
typedef struct _x{unsigned char a;unsigned char b;unsigned char c;}x;x data = { .a = 1,.b = 2,.c = 3,};
提示错误如下:
error: #1077: an initializer cannot be specified for a flexible array member
指向的是 .data 那一行
解决办法
找到问题所在了, 目前能编译通过的解决办法如下:
在keil编译配置管理的c/c++选项卡中Misc control中填写–gnu
如图
在linker选项卡中删除Misc control中的数据
如图
这样的话,编译就能不报错,通过了…
至于通过后程序是不是正常的还没测试~~~
补充
经过博主测试,只需加上–gnu就可以正常编译了
阅读全文
0 0
- 结构体内不定长数组初始化,error: #1077: an initializer cannot be specified for a flexible array member
- 结构体内数组大小不定
- flexible array member
- 初始化不定长对象数组.
- c99之 柔性数组成员(flexible array member)
- Cannot define dimension expressions when an array initializer is provided
- C语言不定长数组及初始化
- c++ 编译时报错 "Array initializer must be an initializer list or string literal"
- error C2600: 'Point::Point' : cannot define a compiler-generated special member function (must be de
- Error: Q0466E: An output file can only be specified if there is a single input file
- flexible array 柔性数组
- stackoverflow: structs with flexible char array member
- 柔型数组成员(flexible array member)在redis中的一点使用
- 不完整类型(Incomplete Types)和柔性数组成员(Flexible Array Member)
- 成员初始化列表(member initializer list)
- Name of an object member must be a string
- Cannot find an initializer for type '[(String)]' that accepts an argument list of type '(LazyForward
- Error: A project with an Output Type of Class Library cannot be started directly
- 1126: 布尔矩阵的奇偶性
- 2017CSU暑假集训 Languages
- 架构师日记——Nginx简介
- linux 学习(1)
- POJ
- 结构体内不定长数组初始化,error: #1077: an initializer cannot be specified for a flexible array member
- 第一天
- flume监听端口整合kafka以及相关错误
- iPhone手机数据找回指南2:iPhone手机使用技巧
- UE4中实现截图功能并保存到指定路径
- Linux 下载服务器文件至本地
- python爬虫学习笔记(2)-爬取知乎
- JAVA设计模式初探之适配器模式
- 关于three.js载入js格式模型的问题