C++带默认形参的函数

先上代码:

int sub(int x=8,int y=3)
{
return x-y;
}
void main()
{
sub(20,15); //20-15
sub(10); //10-3
sub(); //8-3
}

注意事项
1)C++调用函数时,参数是自由到左入栈的。因此,默认形参必须从右向左连续定义,并且在一个默认形参的右边不能有非默认的形参。
int f(int a,float b=5.0,char c='.',int d=10);//正确
int f(int a=1,float b=5.0,char c='.',int d);//错误,d未定义
int f(int a=1,float b,char c='.',int d=10);//错误,b未定义
2)在调用函数时,如果省去了某个实参,那从这个实参开始到最右边的实参都要省去,省去的参数和默认值对应。
int f(int a,float b=5.0,char c='.',int d=10);
f(8, , ,4)//错误
f(8)//正确
3)在函数声明和函数定义时,默认形参不要重复定义,有函数声明时,应该优先在声明时定义,如果没有函数声明,则在函数定义时定义
4)在函数原型声明时给出默认值时,形参名可以省略
int f(int ,float=5.0,char='.',int =sub(20,15));
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值