gpt4 book ai didi

调用参数数量未定义的 C 函数

转载 作者:太空宇宙 更新时间:2023-11-04 07:48:04 25 4
gpt4 key购买 nike

请注意,此问题不涉及省略号。

考虑以下代码

#include <stdio.h>

void foo() {
printf("I AM AWESOME\n");
}

main(void) {
foo(1,2,3);
foo();
return 0;
}

该程序运行完美并提供了输出。但是,在“main”的情况下,无论

主要(无效)

main()

当,定义foo为

foo(void)

给出一个错误——“参数太多”。

如果两者都是函数,它们不应该也遵循相同的规则吗?

最佳答案

当您声明一个不带参数的函数时,这意味着禁用类型检查并使用 K&R 调用约定。这并不意味着该函数没有参数。

在 ANSI 中,当你想显式声明该函数没有参数时,你需要将其声明为 fun(void)。

关于调用参数数量未定义的 C 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55675979/

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