有没有办法设计一个宏,可以确保元素在定义期间处于结构的开头?例如:
typedef struct {
START(int a);
} b;
// Becomes
typedef struct {
int a;
} b;
Run Code Online (Sandbox Code Playgroud)
但是当它不是第一个元素时会生成编译时错误?
typedef struct {
int c;
START(int a);
} b;
// Generate an error
Run Code Online (Sandbox Code Playgroud)
我原以为你可以使用OFFSETOF和BUILD_BUG_ON_ZERO宏的组合,但这需要在初始化时知道结构布局,并因为变量未声明而产生错误.
这可能在C?