对于带参数列表的函数,必须从右向左添加默认值
对于带参数列表的函数,必须从右向左添加默认值,也就是说,要为某个参数设置默认值,则必须为它右边的所有参数提供默认值。范例:int fun1(int n, int m = 4, int j = 5); //正确 int fun2(int n, int m = 6, int j); //错误 int fun3(int n = 1, int m = 6, int j = 3); //正确
默认参数不能在声明和定义中同时出现
错误使用范例:
声明:void fun4(int n = 10);
定义:void fun4(int n = 10) { ...; }
正确使用范例:
声明:void fun4(int n = 10);
定义:void fun4(int n) { ...; }
或者
声明:void fun4(int n);
定义:void fun4(int n = 10) { ...; }
带默认参数的函数的声明、定义及使用
函数可以先声明后定义再使用;也可以不声明只定义后使用。
一般情况下我们选择将默认参数放在函数定义中,这是我们设计函数的初衷,以及保证程序的可读性。
在实际调用过程中,实参按从左到右的顺序被赋给相应的形参,而不能跳过任何参数。范例:val = fun1(2); //等价于 fun1(2,4,5) val = fun1(1,8); //等价于 fun1(1,8,5) val = fun1(8,7,6); //等价于 fun1(8,7,6) val = fun1(3, ,8); //这种调用方式有误,有参数被跳过。
联系客服