搜索
编程论坛
→
.NET专区
→
『 C# 论坛 』
→ 函数的重载与带默认值得函数一起使用时,有可能引起二义性
标题:
函数的重载与带默认值得函数一起使用时,有可能引起二义性
只看楼主
zjdxsunyan
等 级:
新手上路
帖 子:30
专家分:5
注 册:2011-4-10
结帖率:
85.71%
楼主
已结贴
√
问题点数:15 回复次数:6
函数的重载与带默认值得函数一起使用时,有可能引起二义性
如下两个函数:
void Drawcircle(int r=0,int x=0,int y=0);
void Drawcircle(int r);
这样的重载为什么不行。
搜索更多相关主题的帖子:
void
2011-04-12 13:17
lwsfyts
等 级:
论坛游侠
帖 子:39
专家分:132
注 册:2011-4-3
第
2
楼
得分:8
怎么不行哈.你要是声明的话就:
void Drawcircle(int r=0,int x=0,int y=0){}
void Drawcircle(int r){}
或者声明为abstract
2011-04-12 13:54
zjdxsunyan
等 级:
新手上路
帖 子:30
专家分:5
注 册:2011-4-10
第
3
楼
得分: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
lwsfyts
等 级:
论坛游侠
帖 子:39
专家分:132
注 册:2011-4-3
第
4
楼
得分:0
Drawcicle(20)调用第2个...
2011-04-12 14:13
zjdxsunyan
等 级:
新手上路
帖 子:30
专家分:5
注 册:2011-4-10
第
5
楼
得分: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
Kiss_零
等 级:
论坛游侠
帖 子:164
专家分:125
注 册:2008-11-21
第
6
楼
得分:8
呵呵,兰州你是来炫耀你的C++技术的吗?或者你所谓的测试对这个论坛有什么实质性帮助么?
2011-04-12 19:48
zjdxsunyan
等 级:
新手上路
帖 子:30
专家分:5
注 册:2011-4-10
第
7
楼
得分:0
啊哈,不是啊,我刚学习C++,哪是炫耀。大家不要生气啊!
2011-04-12 20:31
7
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-336404-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.042444 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved