食品
struct foo {
int a;
};
bar.c
struct foo {
char *s;
double x,y;
};
结构定义仅在.c文件中根据C标准是否合法标准的哪一部分这么说?
编辑:不包含结构定义。
感谢大家的快速反应:天
最佳答案
这段代码是完全合法的C语言。调试器可能会遇到问题(将一种类型误认为另一种类型,并试图将另一种类型显示为另一种类型),但从语言的角度来看,这是很好的。
标准中没有一部分会直接说这是合法的。相反,标准中没有一部分规定这是非法的。
这样的东西在C++中是非法的,因为C++将链接的概念扩展到类,而C++类中的非本地总是有外部链接。
关于c - 不同源文件中的结构定义重复,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3093947/