void f(int a=1,int b); 函数原型为什么无效?

来源:百度知道 编辑:UC知道 时间:2024/06/03 13:21:58
为什么有默认值必须在后?

大侠,c++是不允许第一个参数有初始值,而第二个参数没有。
要么 改成这样void f(int b,int a=1);
要么void f(int b=1,int a=1);
默认值是从右到左依次的

int a=1 句 貌似有点那个啥...

void f(int b,int a=1);可以
void f(int a=1,int b);不可以

知道为什么无效了吧~

有默认值的必须在最后

函数声明