例子
/*带有参数的函数,默认一个参数为2*/
void sum(int a, int b=2) {
cout << a + b << endl;
}
sum(1);//3
sum(1, 4);//5
不可以的情况
/*这种情况不对,因为缺省函数传入的参数,是从右向左匹配,带默认参数的只能放右边*/
void sum(int a, int=2, int c) {
cout << a + b + c << endl;
}
另一个不对例子
产生了二义性
void sum(int a, int b=2) {
cout << a + b << endl;
}
void sum(int a, int b, int c = 4) {
cout << a + b + c << endl;
}
int main() {
sum(1, 5);//不知道调用哪个了
sum(1);
}