函数:默认实参
如果一个形参具有默认实参,那么,它后面的所有形参都必须有默认实参。
int func(int a=0, int b=1, int c=2)如果是
int func(int a=0, int b, int c=2)或者int func(int a=0, int b, int c)等都是错误的。
函数调用的实参按位置解析,默认实参只能用来替换函数调用缺少的尾部实参。
int func(int a=0, int b=1, int c=2)
若有:func(10, 11)//则表示func(10, 11, 2)
设计带有默认实参的函数,排列形参,使最少使用的默认实参的形参排在最前,最可能使用的默认实参的形参排在最后
通常,应在函数声明中指定默认实参,并将该声明放在合适的头文件中。
函数调用的实参按位置解析,默认实参只能用来替换函数调用缺少的尾部实参。
既可以在函数声明也可以在函数定义中指定默认实参。但是,在一个文件中,只能为一个形参指定默认实参一次。通常,应在函数声明中指定默认实参,并将该声明放在合适的头文件中。如果在函数定义的形参表中提供默认实参,那么只有在包含该函数定义的源文件中调用该函数时,默认实参才是有效的。
函数调用的实参按位置解析,默认实参只能用来替换函数调用缺少的尾部实参。