中易网

求大神 C++ friend问题 fatal error C1001: INTERNAL COMPILER ERROR

答案:3  悬赏:50  
解决时间 2021-03-02 19:35
#include
using namespace std;
class complex
{
private:
int real;
int imag;
public:
complex(){real=0;imag=0;}
complex(int r,int i){real=r;imag=i;}
friend complex operator + (complex &c1,complex &c2);
void display()
{
cout<<"After the calculation"< }

};

complex operator + (complex &c1,complex &c2)
{

return complex(c1.real+c2.real,c1.imag+c2.imag);
}
int main()
{
complex c1(2,3),c2(3,4),c3;
c1.display();
c2.display();
c3.display();
c3=c1+c2;
c3.display();
}
最佳答案
#include
using namespace std;

class complex;  // 因为下面的声明,所以需要先声明有这个类
complex operator + (complex &c1, complex &c2);  // 要先声明这个函数

class complex
{
private:
int real;
    int imag;
public:
complex(){real=0;imag=0;}
complex(int r,int i)
{
real=r;
imag=i;
}
friend complex operator + (complex &c1, complex &c2); // 找个没有找到声明的地方,要先声明。已加到前面
void display()
{
cout<<"After the calculation"< }

};

complex operator + (complex &c1,complex &c2)
{

    return complex(c1.real+c2.real,c1.imag+c2.imag);

int main()
{
complex c1(2,3),c2(3,4),c3;
c1.display();
c2.display();
c3.display();
c3=c1+c2;
    c3.display();
}
全部回答
这是使用std名字空间的问题,在complex类定义之前对函数提前声明即可,即: ... using namespace std; class complex; // complex operator + (complex &c1,complex &c2); // class complex { ...
这是使用std名字空间的问题,在complex类定义之前对函数提前声明即可,即: ... using namespace std; class complex; // complex operator + (complex &c1,complex &c2); // class complex { ... 再看看别人怎么说的。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
如果他真的不想和我好,是不是就得告诉他身边
如何调查房产开发商?(我该怎么做 跪求)
贝丰尔 G12 到底支持什么格式,软件类 疯了,
如何更改校讯通接收号码
昏暗溪流盘曲观常的近义词
十年以前的醋还能吃吗?
我想知道是中国人寿待遇好还是信诚待遇好?
问dnf我打算买个圣喻法典,如果我tp技能点精
浦东五莲路1769弄去沪太支路538号如何走
炒老火锅老油有点反苦怎么办
成都ui设计培训机构哪个靠谱点?
女,处女座,洗什么洗发水头发柔顺
一个有日5000访问量以上的网站能做什么赚钱?
鸿茗轩茶庄在哪里啊,我有事要去这个地方
一个连自己的女人都不愿意哄的男人,那他爱她
推荐资讯
雅士鸿运玉器专卖店在什么地方啊,我要过去处
100元饮食定额发票一百张一本卖多少钱
第1佳大鸡排NO.1888地址在什么地方,想过去办
仓房沟中路西二巷/Z408(路口)在哪里啊,我有
最简单、最科学、最好的蒸脸是什么方法?
为什么我的耳机总是一边先坏?
360路由器稳定吗
某小学周边商贩很多,学生总是买三无食品,玩具
rara是什么格式
根据新规定,现在的钢筋型号怎么表示?
456*0+1234567890
红光经络养生馆地址在哪,我要去那里办事
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?