c++默认参数
默认参数指的是当函数调用中省略了实参时自动使用的一个值。
1)如何设置默认值呢?默认参数在函数声明中提供,当又有声明又有定义时,定义中不允许默认参数。如果函数只有定义,则默认参数才可出现在函数定义中。
2)对于带参数列表的函数,必须从右向左添加默认值,也就是说,要为某个参数设置默认值,则必须为它右边的所有参数提供默认值:
int harpo(int n,int m = 4 ,int j = 5); // VALID
int chico(int n,int m = 6, int j); // INVALID
int groucho(int k = 1,int m = 2, int n = 3); // VALID
实参按从左到右的顺序赋给相应的形参,而不能跳过任何参数,因此下面的调用是不允许的:
beeps = harpo(3, ,8) //invalid,doesn't set m to 4
reference:C++ Primer Plus 6th