下面的代码似乎编译得很好。
typedef struct Test {
int i;
int j;
} Test;
int main() {
int i;
i = 0;
Test p = {i, 1};
printf("%d\n", p.i);
return 0;
}
夹板失败
example2.c:9:7: Parse Error. (For help on parse errors, see splint -help
parseerrors.
(这是行Test p = {i, 1};
)
这是非法的 C,还是夹板中的错误?
(我想这样做是因为我希望 p 成为const
,尽管即使删除const
修饰符似乎也会发生故障。如果我将声明和初始化i
移到一行,问题似乎也消失了。)