概述

默认参数是C++中新增的特性。在C++中,可以为函数的参数指定默认值。调用函数时,如果没有指定实参,则自动使用默认参数。默认参数的基本语法这里就不作介绍了,下面重点介绍使用默认参数的一些知识要点。

基本规则

1、当函数中某个形参有默认值时,该形参右边的所有形参都必须有默认值。在下面的示例代码中,形参a有默认值,但右边的形参b没有默认值,这是不合法的,会报编译错误。

int Add(int a = 5, int b, int c = 6);

2、只能在函数声明和函数定义其中一处给形参指定默认值,不能在两处同时指定,通常在函数声明时指定。比如,下面的示例代码就是不正确的。

// 函数定义和声明时,不同同时指定默认参数值,否则,编译出错int Add(int a = 5, int b = 6);int Add(int a = 5, int b = 6){return a + b;}

修改后的代码如下:

int Add(int a = 5, int b = 6);int Add(int a /* = 5 */, int b /* = 6 */){return a + b;}