inrcl
inrcl
手把手教你写bug
http://inrcl.cn/wp-content/uploads/2020/04/ec2.1.jpg

出错的函数声明

http://inrcl.cn/wp-content/uploads/2020/04/ec.jpg

出错的函数定义

http://inrcl.cn/wp-content/uploads/2020/04/ec2.2.jpg

调用函数时报错

http://inrcl.cn/wp-content/uploads/2020/04/eout.jpg
http://inrcl.cn/wp-content/uploads/2020/04/eout2-1024x317.jpg

因为函数声明的错误,所以在后来调用函数时,导致默认参数未生效。正确的默认参数使用如下:

void func(int = 1);    //函数声明
void func2(string, int = 1);    //函数声明
/* 函数中含有多个形参时,带默认实参的形参要置于形参列表的右侧,即带默认实参的形参的右侧不能有不带实参的形参 */
func(int n){}         //函数定义
func(int n = 1){}    //重定义默认实参错误,见倒数第二张图
func2(string str, int n)  {}    //函数定义
func3(int n = 1) {}   /*没有函数声明,直接在定义里写实参,调用函数时,编译器会提示缺少参数,如最后一张图*/
func();   //使用默认实参
func(0);  //不使用
func2("字符串");
func2("", 2);

[总结]:默认实参在函数声明时使用,而非直接在函数定义时给形参具体的值。

anyShare分享到:

发表评论

textsms
account_circle
email

inrcl

手把手教你写bug
怎么使用默认参数呢?当然是直接在函数定义时给形参具体的值
扫描二维码继续阅读
2020-04-27