缺省参数
缺省参数是声明或定义函数时为函数的参数指定一个默认值。在调用该函数时,如果没有指定实参则采用该默认值,否则使用指定的实参。
【半缺省参数】
void FunTest(int _iParam1, int _iParam2 = 0 )
{}
void FunTest(int _iParam1, int _iParam2 = 0 , int _iParam3/* = 0*/)
{}
void FunTest(int _iParam1, int _iParam2 /* = 0*/,int _iParam3 = 0)
{}
【全缺省参数】
void FunTest(int _iParam1 = 0, int _iParam = 1)
{}
注意:慎用缺省函数,否则会产生二义性
void FunTest ()
{}
void FunTest (int a = 10 )
{}
假如使用不带实参方式调用FunTest()函数时,编译器将不知道调用哪一个,产生二义性。
【注意】
1. 带缺省值的参数必须放在参数表的最后面。
2. 缺省参数不能同时在函数的声明和函数定义中出现,二者只能选其一。
3. 缺省值必须是常量或全局变量。
4. 缺省参数必须通过值参或常参传递