读书人

函数重载的有关问题请问

发布时间: 2012-03-09 16:54:57 作者: rapoo

函数重载的问题请教
函数重载的问题,请求高手讲解一下
××××××××××××××××××××××××××××
void func(float a)
{

cout <<"1";
}

void func(int a)
{

cout <<"2";
}

void main()
{

func(1);
func(1.1);
}
××××××××××××××××××××××××××××

编译出错
error C2668: 'func' : ambiguous call to overloaded function

是说func(1.1)不知道应该调用那个函数
但是为什么func(1)就知道调用void func(int a)呢。




[解决办法]
1.1是doulbe类型,而不是float类型。
如果你写1.1f就会调用float那个函数。
1是int类型,可以完全匹配,就调用int那个函数。
[解决办法]
func(1.1f);

读书人网 >C++

热点推荐