缺省参数
- 可以为函数的全部参数或者部分参数指定缺省值(默认实参), 调用该函数时如果未指定实参, 就取缺省值作为相应实参;
void func(int 1 = 10, int j =20){...}
- 靠右原则, 如果函数的某个参数具有缺省值, 那么该参数右侧的所有参数都必须带有缺省
void func(int i = 0, int j){...} //erro
void func(int i, int j = 0){...} //true
- 如果函数和声明分开, 缺省参数要写在函数的声明位置, 而函数定义部分不要重复指定
a.h
void func(int a = 10, int b = 20, int c = 30);
a.cpp
#include <iostream>
#include "a.h"
using namespace std;
//重复指定缺省参数, 编译会报错
void func(int a, int b, int c) {
cout << a << b << c << endl;
}
int main(){
func(); // 102030
}
$ g++ a.cpp
$ ./a.out
102030