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