//默认参数#if 0void myprint(int x = 3)
{
cout << "x = " << x << endl;
}
//2 在默认参数规则,如果默认参数出现,那么右边的都必须有默认参数//void myprint2(int m, int n, int x = 3, int y ) //编译器编译错误void myprint2(int m, int n, int x = 1111, int y = 4)
{
cout << "x = " << x << endl;
}
void test()
{
//1 若 你填写参数,使用你填写的,不填写使用默认的
myprint(5);
myprint();
myprint2(11, 22);//没有默认参数的必须赋值
myprint2(11, 22, 33, 44);
}
#endif
//占位参数必须写够参数#if 0/*
函数占位参数
占位参数 只有 参数类型 声明,而 没有参数名 声明
一般情况下,在函数体内部无法使用占位参数
*/void func1(int a, int b, int)
{
cout << "a = " << a << " b = " << b << endl;
}
void test()
{
//func1(1, 2);//err 调用不起来//函数占位参数 函数调用时, 必须写够参数
func1(1, 2, 3);
}
#endif
//默认参数和占位参数#if 1//c++编译器支持占位参数,有默认值的void func2(int a, int b, int = 0)
{
cout << "a = " << a << " b = " << b << endl;
}
void test()
{
func2(1, 2);// 如果默认参数和占位参数在一起,都能调用起来
func2(1, 2, 3);
}
#endif