缺省参数
1.缺省参数的概念
缺省参数是声明或定义函数时为函数的参数指定一个默认值,在调用该函数时,如果没有指定实参则采用该默认值,否则使用指定的实参
void Test(int a = 1)
{
cout << a << endl;
}
int main()
{
Test();//没有传参时,使用的时参数的默认值,即1
Test(2);//传参时,使用的是指定实参
return 0;
}
2.缺省参数的分类
2.1全缺省参数
void Test(int a = 1, int b = 2, int c = 3)
{
cout << a << endl;
cout << b << endl;
cout << c << endl;
}
2.2半缺省参数
void Test(int a, int b = 2, int c = 3)
{
cout << a << endl;
cout << b << endl;
cout << c << endl;
}
注意:
1.半缺省参数只能从右往左依次缺省,不能间隔给
void Test(int a, int b = 2, int c)//这样就是错误的
2.缺省参数不能再函数声明和定义中同时出现
//头文件中 .h
void Test(int a = 20);
//定义中 .c
void Test(int a = 30)
{}
如果声明和定义的位置都出现缺省参数,并且提供的值不一样,那么编译器就不知道用哪个了。
3.缺省值必须是常量或全局变量
4.C语言不支持使用缺省参数