关于函数的默认参数

先将关于函数的默认参数一些要点总结如下:

1.如果同时有函数的声明和定义 我们要把对于函数的默认参数加在函数的声明之中,而不能放在函数的定义中。

int add(int a, int b, int c=5);
int main(void) {
    cout << add(2, 3);
}
int add(int a, int b, int c) {
    return a + b + c;

}

如果没有函数的声明 我们就只能这样

int add(int a, int b, int c = 5) {
    return a + b + c;
}
int main(void) {
    cout << add(2, 3);
}

2.

函数的参数列表中默认参数要在函数的形参列表中的最右边

int add(int a=3, int b, int c = 5) {//错误
    return a + b + c;
}
int add(int a , int b=3, int c = 5) {//正确
    return a + b + c;
}

3.

调用函数时,实参在函数参数列表中从左往右一一对应,如果碰到了默认参数的位置上有传入了实参,则以传入的实参为主

int add(int a , int b=3, int c = 5) {
    return a + b + c;
}
int main(void) {
    cout << add(2, 4);
}

这里函数返回值是11

另外 我们调用函数时 是绝对不能用这种形式来保留a的默认参数而传值给b和c,这是不允许的,

int add(int a=4 , int b=3, int c = 5) {
    return a + b + c;
}
int main(void) {
    cout << add(,2, 4);//错误
}

就这样  

posted @ 2020-03-17 16:12  YBossy  阅读(402)  评论(0)    收藏  举报