3 回答
TA贡献2037条经验 获得超6个赞
不,这在C中不违法.在您链接到的问题(以及链接到的答案的问题)中涉及多个文件。同一文件中的多个(兼容)暂定定义并不违反。这一问题的违反是因为,在翻译单位的末尾,如果有没有完全定义的暂定定义,就意味着一个完整的定义。这加上多个文件会导致链接时产生多个定义(除了跨多个文件的暂定定义规则的公共扩展外)
TA贡献1848条经验 获得超6个赞
extern
int a = 1;int a = 2;
TA贡献1859条经验 获得超6个赞
a
a
printf("Hi");
- 3 回答
- 0 关注
- 468 浏览
添加回答
举报