一个友元的问题

lysddp 2009-04-09 08:26:18
#include<iostream>
using namespace std;
class complex
{
public:
complex(double r,double i);
void display();
friend complex operator + (complex &a,complex &b);

private:
double real;
double img;
};

complex::complex(double r,double i)
{
real=r;
img=i;
}
void complex::display()
{
cout<<real<<img;
}
complex operator + (complex &a,complex &b)
{
return complex(a.real+b.real,a.img+b.img);l
}
int main()
{
complex m(3.1,9.21),n(6.0, 5.4),d;
d=m+n;
d.display();
return 0;
}


这样写为什么老是提示错误呢

ompiling...
a.cpp
C:\Documents and Settings\Administrator\桌面\temp\a.cpp(8) : fatal error C1001: INTERNAL COMPILER ERROR
(compiler file 'msc1.cpp', line 1786)
Please choose the Technical Support command on the Visual C++
Help menu, or open the Technical Support help file for more information
执行 cl.exe 时出错.
...全文
39 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
kunshanzhiyu 2009-04-09
  • 打赏
  • 举报
回复
运算符重载函数的函数体内多了"|",.改完之后还是有错误,这是因为你使用的是较早发布的VC++6.0编译系统,该系统里不存在bug,不能在声明重载运算符之前写"using namespace std;".你只要从微软网站上下载Microsoft Visual Studio 6.0 Service Pack 5安装即可。

65,187

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧