| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 951 人关注过本帖
标题:函数的重载与带默认值得函数一起使用时,有可能引起二义性
取消只看楼主 加入收藏
zjdxsunyan
Rank: 1
等 级:新手上路
帖 子:30
专家分:5
注 册:2011-4-10
结帖率:85.71%
收藏
已结贴  问题点数:15 回复次数:3 
函数的重载与带默认值得函数一起使用时,有可能引起二义性
如下两个函数:
void Drawcircle(int r=0,int x=0,int y=0);
void Drawcircle(int r);
这样的重载为什么不行。
搜索更多相关主题的帖子: void 
2011-04-12 13:17
zjdxsunyan
Rank: 1
等 级:新手上路
帖 子:30
专家分:5
注 册:2011-4-10
收藏
得分:0 
就按照你说的,下面的调用:
Drawcicle(20);
你说调用哪一个。提醒一下,这个调用语句,可能是调用第一个带有默认值的函数哦!不信你把第二个函数去掉,测试如下代码:
#include<iostream>
using namespace std;
void f(int x=1,int y=2,int z=3)
{
    cout<<x<<' '<<y<<' '<<z<<endl;
}
int main()
{
    f(4);
    return 0;
}
2011-04-12 14:05
zjdxsunyan
Rank: 1
等 级:新手上路
帖 子:30
专家分:5
注 册:2011-4-10
收藏
得分:0 
#include<iostream>
using namespace std;
void f(int x=1,int y=2,int z=3)
{
    cout<<x<<' '<<y<<' '<<z<<endl;
}
void f(int x)
{
    cout<<x*x<<endl;
}
int main()
{
    f(4);
    return 0;
}
你测试吧!


2011-04-12 14:55
zjdxsunyan
Rank: 1
等 级:新手上路
帖 子:30
专家分:5
注 册:2011-4-10
收藏
得分:0 
啊哈,不是啊,我刚学习C++,哪是炫耀。大家不要生气啊!
2011-04-12 20:31
快速回复:函数的重载与带默认值得函数一起使用时,有可能引起二义性
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.028119 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved