概述
默认参数的规则:
1.必须从右到左进行默认,不能跳跃
2.实参的个数 + 默认形参个数 >= 所有形参个数
注意:对于一个参数或两个参数都能实现的函数,可以使用默认参数,也可以使用重载,但不能同时使用。例如:
int print(int a){
cout << "int print(int a)" <<endl;
}
int print(int a, int b = 10){
cout << "int print(int a,, int b = 10)" <<endl;
}
int main(){
print(1);
return 0;
}
main函数调用print函数就会产生二义性,电脑不知道去调用哪一个,计算机最讨厌的就是让他做选择,只能回复一个:臣妾做不到啊。
另外:
int print(int a, int b = 10){
cout << "int print(int a,, int b = 10)" <<endl;
}
int main(){
print(1);
return 0;
}
如上,是把函数的定义与声明放在一起了,如果声明在前,定义在后 ,则要写成如下形式:int print(int a, int b = 10);
int main(){
print(1);
return 0;
}
int print(int a, int b){
cout << "int print(int a,, int b = 10)" <<endl;
}
也就是说,当生命在前,定义在后时,默认参数放在声明中,不放在定义中,否则编译不通过。因为默认参数是给调用者用的,那肯定是写在声明中,让调用者知道有默认参数。
最后
以上就是健壮纸鹤为你收集整理的C++对C扩展之默认参数(default)的全部内容,希望文章能够帮你解决C++对C扩展之默认参数(default)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复