<分区>
我想知道为什么会出现编译错误
call of overloaded 'my_add(double, double, double)' is ambiguous
当我尝试如下重载 my_add 函数时:
//=============== Start of Program ===========
#include <iostream.h>
int my_add( int x, int y , int z)
{
return (x+y+z);
}
float my_add( float x, float y , float z)
{
return (x+y+z);
}
int main (void)
{
cout<<my_add(5,6,1);
cout<<my_add(5.5,6.5,1.0);
}
//=============== End of Program ===========
但是,当我在 my_add( float x, float y , float z)
.
我学到的是,对于重载函数,它的定义应该在参数数量、参数顺序或参数类型方面有所不同。
在我的例子中,函数的两个版本在参数类型上有所不同。
我使用的IDE是Code Blocks。