c++中一个看不懂的错误

gjf66924011 2011-11-21 06:37:53
#include <iostream>
using namespace std;
class Complex
{
public:
Complex (double r,double im)
{real=r;imag=im;}
Complex (double r)
{real=r;}
Complex ()
{real=0;imag=0;}
Complex operator +(double &i)
{return Complex (real+i,imag);}
Complex operator +(Complex &x1)
{return Complex (real+x.real,imag+x1.imag);}
friend Complex operator +(double &i,Complex &x1);
void display()
{
cout<<"the sum of complexes are:"<<real<<"+"<<imag<<"i"<<endl;
}
private:
double real;
double imag;
};
Complex operator +(double &i,Complex &x1)
{
return Complex (i+x1.real,x1.imag);
}
int main()
{
Complex x,x1,x2,x3,i;
x2=x+x1;
x3=x+i;
cout<<"x=";x.display();
cout<<"x1=";x1.display();
cout<,"i=";i.display();
cout<<"x+x1=";x2.display();
cout<<"x+i=";display();
return 0;
}


错误提示是:
c:\users\asus\documents\tencent files\396549821\filerecv\22.cpp(16) : 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 时出错.


请指点错误。
还有,我用的是vc++6.0 我想换一个编译器,请推荐并留下下载地址,3Q
...全文
157 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
newfarmerchi 2011-11-21
  • 打赏
  • 举报
回复
vc++6.0在把运算符重载函数作为友员函数时可能会有麻烦。你可将头文件
改成如下形式
#include <iostream.h>
//using namespace std;
改好后再编译,就你的程序而言,还有一些拼写的错误,如
return Complex (real+x.real,imag+x1.imag);
应为
return Complex (real+x1.real,imag+x1.imag);
cout<,"i=";i.display();
应为
cout<<"i=";i.display();
等等。


群狼 2011-11-21
  • 打赏
  • 举报
回复
codeblocks:
http://www.oschina.net/news/9477/Code-Blocks-10-05-Download
官网:
www.codeblocks.org
你也可以去官网下
hongwenjun 2011-11-21
  • 打赏
  • 举报
回复
CodeBlocks 集成VC2010SP1编译器 和GCC4.6编译器
SDK ,MSDN c++库函数中文.chm

http://srgb.googlecode.com/files/CodeBlocks.7z.001
http://srgb.googlecode.com/files/CodeBlocks.7z.002

下载两个分包,然后使用7z系的软件解压
或者 用下面命令合成一个包,用Winrar 也可以 解压
copy CodeBlocks.7z.001 + CodeBlocks.7z.002 CodeBlocks.7z /B
群狼 2011-11-21
  • 打赏
  • 举报
回复
1.进入project->setting->c/c++, 在category中选择preprocessor,在processor definitions中删除_WINDOWS, 添加_CONSOLE

2.进入project->setting->Link, 在Project options中将/subsystem:windows.改为/subsystem:console

3.保存设置,在build下应该可以了。

推荐编译器:楼主可以用用ColdBlocks,这个支持标准C++,而且体积小巧。我以前用的VS2008,但是打开实在太慢了,就用的这个,效果不错。VC++ 6.0还是不建议再用了,因为对标准C++支持不太好

64,643

社区成员

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

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