C++带默认参数的函数
带默认参数的函数在调用时,可以不给有默认值的参数传参, 编译器会自动使用默认值, 使用默认参数定义函数需要注意两点:
1,函数的某个位置的参数使用了默认参数, 则该参数后, 从左至右的所有参数必须给出默认参数, 否则报错:Miss default argument on parameter 'paramName'
2,对于函数的某个默认参数初始值的设置要么在函数声明中给出, 要么在函数定义中给出, 不能即在函数声明给出, 又在函数定义中给出, 否则报错:Redefinition of default arguent
#include<iostream> using namespace std; /** * 带有默认参数的函数, 若函数的某些参数具有默认值, 则调用该函数时, 可以不给这些参数传参数, 而使用默认值 * * @param a 参数a * @param b 参数b, 默认值为54 * @param c 参数c, 默认值为12 * @return 参数a, b, c之和 */ int add1(int a, int b = 54, int c = 12) { return a + b + c; } /** * 使用带默认参数的函数的注意事项 * 1,若函数的某个位置使用了默认参数, 则该位置之后, 从左至右的所有参数必须定义默认参数, 否则报错 * 形如:Missing default argument on parameter 'b' * 2,函数的声明和定义中对于参数的默认值只能存在一次,否则报错 * 形如:Redefinition of default argument */ /*int add2(int a = 10, int b, int c){ return a + b + c; }*/ int add2(int a, int b = 10, int c = 20); int add2(int a = 0, int b, int c) { return a + b + c; } /*int add2(int a = 0, int b =12, int c) { return a + b + c; }*/ int main() { //call function "add1" cout << "call add1(10) and result is " << add1(10) << endl; cout << "call add1(10,20) and result is " << add1(10,20) << endl; system("pause"); return 0; }
路漫漫其修远兮,吾将上下而求索。

浙公网安备 33010602011771号