您的位置:首页 > 编程语言 > C语言/C++

C++每日学习之 重载和默认参数

2012-12-10 16:13 211 查看
作者:曾维

(转载请注明出处http://blog.sina.com.cn/hapcat

如下面的代码所示,我们知道默认参数是调用int sum(int a=1,int b=2);

函数可以写成sum();重载void类型的int sum(void),调用的时候也是sum();那么究竟是调用哪一个了?

不妨编译一下,探个究竟。

#include<iostream>

using namespace std;

int sum(int a=1,int b=2);

int sum(void);

int main()

{



cout<<sum()<<endl;

getchar();

return 0;



}

int sum(int a,int b)

{

return a+b;

}

int sum(void)

{



return0;



}

结果编译器通不过,错误原因如下图所示:





call of overloaded ‘sum()'is ambiguous (调用重载函数时有歧义)而不能编译。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: