喜悦国际村 » JAVA/C/C++ » 求教c++重载

页: [1]
lwp2004-11-21 11:40 AM
求教c++重载

请问如下两个函数是重载函数吗?
void f(int a=0,int b=1)
{      }

void f()
{     }

第二个函数无参数,但第一个函数也可以没有参数,系统怎么区分调用那个函数呢?

phpqingang2004-11-21 05:31 PM
当然是重载了。
int a=0,int b=1
a,b不就是参数吗?

Ivony2004-11-22 02:25 AM
直接一个编译错误。。。。。

lwp2004-11-22 09:52 AM
我说错了,在调用第一个函数时可以没有实参

哦,这两个函数不是重载函数

phpqingang2004-11-22 10:23 AM
判断两个函数是不是重载看他们的形参和返回值.
如果你调用第一个函数时没有实参的话,那就是调用那二个函数了!

雨伞2004-11-24 05:20 AM
这不是重载,编译时没错,但在运行时会出错,因为有二义性的存在,这是C++的毛病,没有严格控制,无参的函数永远不可能调用。

eliclee2004-12-17 01:23 PM
不是重载就不能这么用了,楼主这样用不对呀


查看完整版本: 求教c++重载


Powered by Discuz! Archiver 6.1.0  © 2001-2006 Comsenz Inc.
Processed in 0.006005 second(s), 2 queries