考虑以下代码:
typedef struct _sMYSTRUCT_BASE
{
int b_a;
int b_b;
int b_c;
} sMYSTRUCT_BASE;
typedef struct _sMYSTRUCT
{
sMYSTRUCT_BASE base;
int a;
int b;
} sMYSTRUCT;
Private const sMYSTRUCT mystruct_init =
{
0,
1,
3,
4
};
我正在寻找一种生成错误(编译或运行时)的方法,以表明结构初始化没有明确地“触及”所有结构成员。结构中有 5 个整数,但 'mystruct_init' 只有 4 个值。我知道最后一个成员(mystruct_init.b)将为零,但我需要某种警告/错误来通知程序员这个错误。这必须在一个非常旧的编译器上工作(甚至可能不符合 ansi-c)。