请C++高手为小弟指教一二
近日在学习C++的重载构造函数这一章时,用Turbo C++3.0编译时遇到下面的一个问题:
下面这个程序可以通过;
# include<iostream.h>
class group
{
int a;
double b;
public:
group(int i);
group(double j);
};
void main()
{
group obj1(10);
group obj2(20.50);
cout<<" inside the main fun"<<endl;
}
group::group(int i)
{
a=i;
cout<<"a is:"<<i<<endl
<<"inside group(int)."<<endl;
}
group::group(double i)
{
b=i;
cout<<" b is:"<<b<<endl
<<" inside group(float)"<<endl;
}
而把这个程序中double全部改为float类型后,却给出了如下报错信息:
Error:Ambiguity between 'group::group(int)' and 'group::group(float)
Warring:'obj2' is assigned a value that is never used
至今百思不得其解,盼高手指教一二。