預設參數值的函數
在定義一個函數的時候,可以預先給這些形參确定預設的值。調用時如果傳遞實參,就用你傳遞的值,否則就用預設的值。
例:
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();
}