请问隐式转换的问题
我的源文件如下:
#include <iostream.h>
class Complex
{
public:
Complex(){real=0;imag=0;}
Complex(double r){real=r;imag=0;}
Complex(double r,double i){real=r;imag=i;}
Complex operator + (Complex c2);/*改为Complex operator + (Complex &c2)就出现编译错误*/
void display();
private:
double real;
double imag;
};
Complex Complex::operator + (Complex c2)/*也改为Complex operator + (Complex &c2)*/
{return Complex(real+c2.real,imag+c2.imag);}
void Complex::display()
{cout<<"("<<real<<","<<imag<<"i)"<<endl;}
int main()
{
Complex c1(3,4),c2(5,-10),c3;
c3=c1+2.5;
c3.display();
return 0;
}
我不明白为什么会这样,我用的是VC6.0编译器,有哪位高人帮我解答一下,万分感谢。