vc++这个程序错在哪里了

来源:百度知道 编辑:UC知道 时间:2024/05/05 22:57:17
#include<iostream>
using namespace std;
class complex
{public:
complex(){real=0;imag=0;}
complex(double r,double i){real=r;imag=i;}
complex operator+(int &i);
void display();
private:
double real;
double imag;
};
complex complex::operator+ (int &i)
{return complex(real+i,imag);}
void complex:: display()
{cout<<"("<<real<<","<<imag<<"i)"<<endl;}
int main()
{complex c1(2,4),int 3,c2;
c2=c1+3;
cout<<"c1+3=";c2.display ();
return 0;
}
按照来根黄瓜不切片的朋友说的那样,把main函数变了以后,执行obj时候没有错,执行exe时候又有错了

main函数测试时改成这样
int main()
{
complex c1(2,4),c2;
int i=3;
c2=c1+i;
cout<<"c1+3=";
c2.display ();
return 0;
}

怎么个错, 编译器什么提示,或者运行什么效果? 能不能详细点说说。

就一段代码然后找错,好像是在出考题