我也用VC编译了一下,也有一个错误,不过不是内部编译错误。
这有可能是与编译器内部的一些函数名相同,把这些函数名改下就行了。
另外,还有一些错误:
1、将 void print()改为void complex::print()
2、将 complex c1(2.3,4.6),c2(3.6,2.8),c3;改为
complex c1(2.3f,4.6f),c2(3.6f,2.8f),c3;
因为c++中实数默认为double,而real,image为float
这种错误不是你代码的问题,而是VC6.0自己崩溃了。好像VC6.0版本过旧,对于一些C++语法支持得不好,有人也发现使用操作符重载就会崩溃。所以建议使用最新的visual C++ 2010 express,对C++新规范的支持很完美。 根据2楼的改动后,可以编译通过。