我正在阅读一些代码,偶然发现了这个相当奇怪的C结构定义:
有没有人能解释一下(如果可能的话,带上参考资料):
如果这是有效的结构定义
这样的定义(没有定义字段/成员)的目的是什么?
类型定义结构dataObject { ...;} DATA_OBJECT;
[编辑]
上面的代码可以在这里找到
发布于 2021-02-26 19:14:42
如果这是有效的结构定义
不,不是。要获取C17 6.7.2.1形式语法的一部分:
结构声明:
说明符-限定符-列表结构-声明符-列表_opt ;
_static_assert-声明
因此,首先,该结构需要在变量名之前包含一个“说明符-限定符列表”,简单地说就是const int等内容。由于这不存在,例如,gcc抱怨语法错误:
错误:'...‘前应有说明符-限定符-列表令牌
2.这样的定义的目的是什么(没有定义字段/成员)?
我猜这要么是伪代码,要么是开发人员的"TODO“,因为他们提交了不能编译的代码,因为它还没有被编写。
https://stackoverflow.com/questions/66384576
复制相似问题