参数不完整的C++函数调用

C++ function call with incomplete argument

本文关键字:C++ 函数调用 参数      更新时间:2023-10-16

我收到一个关于C++函数调用的问题。

假设我定义了一个类似foo的函数(int a,bool b=true);但当我尝试调用它时,我使用foo(3),这个函数调用会使用foo(int a,bool b=true)吗?或者这是不允许的?

感谢

这个函数调用会使用foo(int a,bool b=true)吗?

是的,它将使用默认参数,并且将调用foo(3, true)

是的,它会(但只在C++中,而不是直C中)。

http://en.wikipedia.org/wiki/Default_argument

这是允许的,因为您定义的第二个参数具有默认值。