c++-带默认形参值的函数

来源:互联网 发布:黄章晋 知乎 编辑:程序博客网 时间:2024/06/06 21:02

注意三点:

(1)如果函数的定义在函数调用之前, 则在函数定义时给出默认值,如果函数的定义在函数调用之后则应该在声明中给出默认值

(2)一个函数不能即作为重载函数,又作为有默认参数的函数,以为容易出现二义性(说法不严格,其实只要不产生二义性即可)

(3)带默认值的参数都位于参数列表的最右端

#include <iostream>using namespace std;int fun(int a, int b=5){return a+b;}int fun1(int a, int b, int c=5);int fun2(int a, int b, int c, int d);//int fun3(int a=1, int b, int c=2);   //error 有默认值的右方不能有非默认值的变量存在int main(){cout<<fun(3)<<endl;cout<<fun1(1,2)<<endl;//cout<<fun2(1,2,3)<<endl;   //error,如果有默认值一定要在声明中指出,否则,即使在定义指出也不生效return 0;}//int fun1(int a, int b, int c=6)  //error, 编译错误,声明中给出,定义时不能再重新赋默认值//有的编译器可以通过//{//return a+b+c;//}int fun1(int a, int b, int c){return a+b+c;}int fun2(int a, int b, int c, int d=8){return a+b+c+d;}


 

0 0
原创粉丝点击