C++中函数默认参数

顾名思义,函数默认参数就是函数本身的参数是有一个值的,如果不需要指定,即使用默认参数值。

int add1(int a,int b,int c)//不带默认参数的函数体
{
    return a+b+c;
}


int add2int a,int b =10,int c =20)//带默认参数的函数体
{
    return a+b+c;
}

可以在上图看到,函数add2在定义的时候就把参数赋值了。

默认参数怎么使用?

int add(int a ,int =10,int c =20)//带默认参数的函数体
{
    return a+b+c;
}


int mian()
{
    cout<<add(10)<<endl;//输出结果是40
    cout<<add(10,20)<<endl;//输出结果是50
    cout<<add(10,20,30)<<endl;//输出结果是60
}

在上图就很明显,按顺序输入参数的值,就可以替换对应的默认参数,比较简单。

注意

1.函数参数列表中只要定义了一个默认参数,那么从这个参数开始,每个参数必须有默认值;

int add(int a,int b,int c){};//abc都没有默认值

int add(int a,int b =10,int c =20){};//b有默认值后,后面的c必须要有默认值

int add(int a =10,int b =20,int c =30){};//a有默认值后,后面所有的参数bc都需要有默认值

//错误写法
int add(int a =10,int b,int c){};//a后面的参数b和c没有默认值

2.函数声明和函数定义的时候不要都存在默认值,这样会产生二义性,导致编译器无法选择:

//以下是错误写法
int add(int a =0,int b =10,int c= 20);//函数声明


int mian()
{
    add();//函数调用,因为参数abc都有默认参数,所以可以直接不写参数
}


//函数实现
int add(int a =20,int b =30,int c =40)
{
    retrun a+b+c;
}

如果这样写,会导致编译器不能正常运行,需要注意,但是好像也不怎么这样用,哈哈。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值