C++带缺省形参值的函数

本文详细介绍了函数声明时如何设置默认参数值,以及调用时参数的匹配规则。强调了默认参数必须位于非默认参数之后,并通过示例说明了正确的函数原型声明与定义。此外,还探讨了在函数原型声明与定义中指定默认值的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

函数在声明时可以预先给出缺省的形参值,调用时如给出实参,则采用实参值,否则采用预先给出的缺省形参值。

例如:

int add(int x = 5,int y = 6) {     

    return x + y;

}

int main() {     

add(10,20);//10+20     

add(10);  //10+6     

add();  //5+6

}

有缺省参数的形参必须在形参列表的最后,也就是说缺省形参值的右面不能有无缺省值的参数。因为调用时实参与形参的结合是从左向右的顺序。

例:

int add(int x, int y = 5, int z = 6);//正确

int add(int x = 1, int y = 5, int z);//错误

int add(int x = 1, int y, int z = 6);//错误

如果一个函数有原型声明,且原型声明在定义之前,则缺省形参值必须在函数原型声明中给出;而如果只有函数的定义,或函数定义在前,则缺省形参值需在函数定义中给出。

例1:

int add(int x = 5,int y = 6); //原型声明在前

int main() {   add(); }

int add(int x,int y) { //此处不能再指定缺省值   return x + y;}

例2:int add(int x = 5,int y = 6) { //只有定义,没有原型声明  

return  x + y; }

int main() {   add(); }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值