萧山区建设局网站,潍坊建设局官方网站,上海建网站多少钱,吴江网站设计缺省参数是为函数的参数指定一个缺省值#xff0c;调用该函数时#xff0c;如果没有指定实参则采用该形参的缺省值。
void Test(int a 10) {cout a endl;
}int main() {Test(); // 不传参默认10Test(100); // 指定传参100return 0;
}缺省参数分为全缺省和…缺省参数是为函数的参数指定一个缺省值调用该函数时如果没有指定实参则采用该形参的缺省值。
void Test(int a 10) {cout a endl;
}int main() {Test(); // 不传参默认10Test(100); // 指定传参100return 0;
}缺省参数分为全缺省和半缺省。
全缺省
void Test(int a 10, int b 20, int c 30){couta aendl;coutb bendl;coutc cendl;}半缺省
void Func(int a, int b 10, int c 20){couta aendl;coutb bendl;coutc cendl;}需要注意的是
C语言不支持缺省函数缺省值必须是常量或者全局变量缺省参数不能在函数声明和定义中同时出现这是因为可能在声明和定义中给的缺省值不一样编译器无法选择使用哪一个缺省值所以缺省值在声明或定义中任意一处给即可以下是错误示范
//a.h
void Func(int a 10);// a.cpp
void Func(int a 20)
{// ...
}半缺省参数必须从右至左依次给出不能中间有某个参数没有缺省值这是因为这种函数没办法调用。以下是错误示范
void Func(int a, int b 10, int c, int d 20){couta aendl;coutb bendl;coutc cendl;coutd dendl;}Func(25); // 不能调用因为形参c没有值 而如果是正确的半缺省只要传了至少一个参数怎样调用都可以
void Func(int a, int b 10, int c 15, int d 20){couta aendl;coutb bendl;coutc cendl;coutd dendl;}Func(5);
Func(5, 25);
Func(5, 25, 30);
Func(5, 25, 30, 40);