gpt4 book ai didi

C: 在 main 下定义函数 - 为什么编译?

转载 作者:太空宇宙 更新时间:2023-11-04 05:41:23 26 4
gpt4 key购买 nike

struct ack {
char a, b, c;
};

main()
{
struct ack bad;

foo(bad);
}

foo(c)
struct ack c;
{

}

这是 gcc 中的一个测试用例。当我尝试使用 gcc4.8 编译它时,它编译没有问题。但是,我了解到您必须在 ma​​in 之前声明您的函数。为什么这甚至可以编译?

最佳答案

尝试编译

-std=c11 -pedantic-errors

您将获得所需的诊断。

默认 gcc 使用 -std=gnu89 编译,这是 c89 + GNU 扩展。隐式声明的 c89 规则已在 c99 中删除。

关于C: 在 main 下定义函数 - 为什么编译?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18068315/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com