即使函数具有参数的变量号,也会被调用

Function gets called even though it has variable no of parameters?

本文关键字:调用 变量 函数 参数      更新时间:2023-10-16
A(int a,int c,int d=1);
A(int a ,int b,int d){
   ....
}
main(){
   A(1,2);
}

在上面的C++代码函数 A(( 被调用,即使参数编号不同。可能是什么原因

结果取决于您使用的 C 版本。c89 之前的编译器可能会编译代码,但 c89 或更高版本的编译器会将参数不匹配视为错误。

请注意,即使代码应该编译,对A内部fun的任何引用都会导致未定义的行为。

C 中的函数仅由其名称标识,因此参数列表与标识函数无关。因此,在 C 语言中不可能重载。C 程序中只能有一个名为 A 的函数。