函数参数相关(默认参数,占位参数)

 

C++中可以在函数声明时为参数提供一个默认值,

当函数调用时没有指定这个参数的值,编译器会自动用默认值代替

函数默认参数的规则

只有参数列表后面部分的参数才可以提供默认参数值

一旦在一个函数调用中开始使用默认参数值,那么这个参数后的所有参数都必须使用默认参数值

#include <iostream>
using namespace std;

void myPrint(int x = 3)
{
    cout<<"x="<<x<<endl;
}
//在默认参数规则 ,如果默认参数出现,那么右边的都必须有默认参数
void myPrint2(int x = 3, int y = 4)
{
    cout<<"x="<<x<<endl;
}

int main(void)
{
    //1 若 你填写参数,使用你填写的,不填写 则默认
    myPrint(4);
    myPrint();
    
    return 0;
}

占位参数:

//函数占位参数 函数调用时,必须写够参数
void func1(int a,int b,int)
{
    cout<<"a="<<a<<" b="<<b<<endl;
}

void func2(int a,int b,int = 0)
{
    cout<<"a="<<a<<" b="<<b<<endl;
}

int main(void)
{
    //func1(1,2); //too few arguments to function 'void func1(int, int, int)'
    func1(1,2,3);
    
    func2(1,2);
    func2(1,2,3);
    
    return 0;
}

运行结果:

 

posted @ 2018-09-23 20:16  Liu_Jing  Views(463)  Comments(0Edit  收藏  举报