码迷,mamicode.com
首页 > 编程语言 > 详细

c++默认参数函数注意事项

时间:2018-09-10 17:59:30      阅读:189      评论:0      收藏:0      [点我收藏+]

标签:分享   函数   局部变量   参数   http   编译   例子   span   技术分享   

再有默认参数的函数中,一般我们都把默认参数放在声明处而不是定义处。

如果声明和定义都有默认参数,编译器将会报错。

调用含有默认实参的函数时,我们可以包含参数,也可以省略。

有默认参数的函数,我们可以不带参数调用:

技术分享图片

所以,在类里面特别要注意,构造函数如果没有参数,此时又存在有所有参数都有默认参数的构造函数,也将会报错。

如果是声明的时候没有默认参数,而定义的时候有默认参数(声明出现在定义前),编译器将不能识别默认参数。

技术分享图片

但是如果有默认参数函数定义出现在声明前面,默认参数则有效。

技术分享图片

这个例子说明了,函数的默认参数,编译器是选择它第一次看到的声明为准的,定义是一种特殊的声明。

那么,我们应该采取,声明写默认参数,定义不写默认参数的建议。

如果函数有默认参数了,那么该默认参数后面的参数,必须也有默认值。

例如一个函数有三个参数,顺序编排为1 ,2 ,3,且都有默认参数,调用的时候,只可以省略尾部的参数。

在这个例子中,不可以省略第一个参数或者1,2都省略,也不可以只省略2的参数,但是可以只写1的参数,省略2,3的参数,也可以只写1,2,省略3的参数。

局部变量不能作为默认参数也需要注意。

 

c++默认参数函数注意事项

标签:分享   函数   局部变量   参数   http   编译   例子   span   技术分享   

原文地址:https://www.cnblogs.com/yangguang-it/p/9621051.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!