C++在定义函数时可以给形参设置一个默认值,设置了默认值的形参称为默认参数。函数调用时默认参数不必赋值也可使用,此时函数内部将使用预设值,如果传入了参数,默认参数将会被替换。但是在声明时指定和定义时指定默认参数会有一些需要注意的点。
首先,如果一个形参被指定了默认参数,那么这个形参之后的形参都需要指定默认参数。如图
当给c指定默认参数后
其次,函数可以进行多次声明,而声明多次都可以给不同形参指定默认值。
结果与上例相同,但注意两次声明指定参数的次序,由于前面的因素,把本例两次函数声明交换次序编译会报错。
最后,C++ 规定,在给定的作用域中只能指定一次默认参数 。如图
注意:如果声明时某一形参未指定默认变量,而在定义时指定,调用函数时必须给这个形参传值(等于默认参数没用),否则将会报错:too few arguments to function;
上述总结如果错误遗漏还请不吝指教,感谢。