C++默认参数(缺省参数)

C++默认参数(缺省参数)
最新回答
相爱如饮酒

2026-10-19 17:04:19

默认参数概念:默认参数是为参数预设一个常量值,调用函数时可省略此参数,系统将使用预设值。此参数必须是常量,允许在调用函数时不赋值,若传入参数,则默认参数将被替换。

主要规则:

1. 默认参数的设置遵循从右到左的顺序,不可跳跃。

2. 在函数声明与定义同一处时,应将默认参数设置在定义(声明)处,声明在先,定义在后。

3. 函数不能同时作为重载和默认参数使用。少写参数时,系统无法区分是重载还是默认参数。

举例:设置c的默认参数后,运行结果为:3,3,5。

缺省参数的分类:

半缺省参数示例:错误例子1和错误例子2。具体细节未提供。

全缺省参数:缺省值须为常量或全局变量。

声明与定义问题:函数可多次声明,每次声明均可为不同形参指定默认值。例如:

void function(int a, int b = 3, int c);

多次声明可能导致错误。如果一个形参设置默认值,之后的所有形参都需设置默认值。同时改变函数声明与定义次序也会报错。

缺省参数不能同时出现在声明与定义中。若在两个位置提供不同值,编译器无法确定应使用哪个缺省值。