默认参数值的函数
在定义一个函数的时候,可以预先给这些形参确定默认的值。调用时如果传递实参,就用你传递的值,否则就用默认的值。
例:
int Add(int x=5, int y=6){
return x+y;
}
int main(){
Add(10,20); //10+20
Add(10); //10+6
Add(); //5+6
return 0;
}
默认参数值的说明次序
-
有默认参数的形参必须列在形参列表的最右,即默认参数值的右边不能有无默认值的参数
-
调用时实参与形参的结合次序是从左向右
例:
int add(int x,int y = 5,int z=6); // 正确
int add(int x=1,int y = 5,int z); // 错误
int add(int x=1,int y, int z=6); // 错误
默认参数值与函数的调用位置
1.如果一个函数有原型声明,且声明在定义之前,则默认参数值应在函数原型声明中给出;
int add(int x=5, int y=6);
// 原型声明在前
int main(){
add()
}
int add(int x, int y){
// 此处不能再指定默认值
return x+y;
}
2.如果只有函数的定义,或函数定义在前,则默认参数值可以在函数定义中给出;
int add(int x=5, int y=6){
// 定义在调用之前
return x+y;
}
int main(){
add();
}