C++参数不完整的函数调用
我有一个关于 C++ 函数调用的问题。
假设我定义了一个像 foo(int a, bool b=true); 这样的函数 但是当我尝试调用它时。我使用 foo(3), 这个函数调用会使用 foo(int a, bool b=true) 吗? 或者这是不允许的?
谢谢
I got a question about C++ function call.
Suppose I have defined a function like foo(int a, bool b=true);
But when I try to call it. I use foo(3),
Will this function call use foo(int a, bool b=true) ?
Or this is not allowed?
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
是的,它将使用默认参数并调用 foo(3, true) 。
Yes, it will use the default argument and
foo(3, true)
will be called.是的,它会(但仅限于 C++,而不是直接的 C)。
http://en.wikipedia.org/wiki/Default_argument
Yes, it will (but only in C++, not straight C).
http://en.wikipedia.org/wiki/Default_argument
这是允许的,因为您定义的第二个参数具有默认值。
It is allowed because the second parameter you defined has a default value.