#include
using namespace std;
int plus(int a,int b,int c=100)
{
return a+b+c;
}
int plus(int a,int b)
{
return a+b;
}
int main()
{
int a, b;
a = 1;
b = 2;
cout << plus(a,b)<
return 0;
}
以上代码中存在一个错误(倒数第三行),由于C++支持重载,所以两个名相同的函数不算事。但是,上面那个使用了默认值,所以可以在调用它的时候只用两个参数,但是问题出现了,下面的那个函数正好只有两个参数,编译系统该调用哪个函数呢。所以系统二逼了。报错不能运行了。综合以上,有默认参数的函数好慎用,以防出现上面的问题。
阅读(809) | 评论(0) | 转发(0) |