默认参数 c++ 定义顺序

来源:百度知道 编辑:UC知道 时间:2024/06/17 11:32:26
“若一函数中有多个参数,则默认参数应从右至左逐个定义”
1.请举例解释
void f(int a=1,int b)
void f(int a,int b,int c=1)
void f(int a,int b=1,int c)
2.请判断以上对错

void f(int a=1,int b) //错
void f(int a,int b,int c=1)//对
void f(int a,int b=1,int c) //错

默认参数一定要在非默认参数的右边

void f(int a,int b,int c=1)对
其他错了
因为默认值只能从右向左赋值,即右面的没有默认值,左面的就不能有..

默认参数一定要在非默认参数的< 左 边 >,不是右边。

第二个对,默认参数就是对已经赋值的变量从右向左放置!