对于带参数列表的函数,必须从右向左添加默认值 对于带参数列表的函数,必须从右向左添加默认值,也就是说,要为某个参数设置默认值,则必须为它右边的所有参数提供默认值。范例: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); //这种调用方式有误,有参数被跳过。 |
|
来自: 星光闪亮图书馆 > 《008、函数的高级应用》