int add(int x = 5, int y = 6);
int add(int x = 5, int y = 6, int z = 7);
int main(void)
{
int sum;
sum = add(10, 20);
return 0;
}
函数声明或者定义的时候,可以给形参赋一些默认值,调用函数时,若没有给出实参,则按指定的默认值进行工作。
* 函数没有声明时,在函数定义中指定形参的默认值
* 函数既有定义又有声明时,声明时指定后,定义后就不能再指定默认值
* 默认值的定义必须遵守从右到左的顺序,如果某个形参没有默认值,则它左边的参数就不能有默认值。
void func1(int a, double b=4.5, int c=3); //合法
void func1(int a=1, double b, int c=3); //不合法
* 函数调用时,实参与形参按从左到右的顺序进行匹配
* 重载的函数中如果形参带有默认值时,可能产生二义性ambiguity