- 函数中带有默认形参值
void fun(int x,int y = 5)
{
cout<<x+y<<endl;
}
int main()
{
fun(1); //默认y=5,输出6
fun(1,4); //按给定参数值计算,输出5
return 0;
}
- 函数既有声明,又有定义时,若函数在声明中指定了形参的默认值,那么在函数的定义中就不必再指定形参的默认值
void fun(int x ,int y = 5);
int main()
{
fun(1);
return 0;
}
void fun(int x,int y ) //不用再次指定形参的默认值
{
cout<<x+y<<endl;
}
- 带默认形参值的函数中,函数的各个形参在指定默认值的时候必须按照从右到左的顺序指定
void fun(int x = 1 ,int y); //error
void fun(int x = 1, int y = 2); //ok
- 函数在调用时,实参与形参按照从左到右的顺序进行匹配