关于VC++操作符重载问题
问一下啊大家:
昨天想写一个椭圆曲线的加密算法。写到关于点的操作重载VC++编译器出现一个问题:
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 时出错.
但在linux下编译运行没错误。
我的Point类定义如下。错误在重载加法操作符那一行。
class Point{
int x;
int y;
public:
Point(int ix=0,int iy=0){
x=ix;
y=iy;
}
int getX();
int getY();
void getXY(int &ix,int &iy);
void setXY(int ix,int iy);
void setY(int iy);
friend Point Add(Point P1,Point P2); //加法
friend Point K_Point(int k,Point P); //倍数
friend Point operator+(const Point P1,const Point P2); //此行错误。。。
friend Point operator-(Point P1,Point P2); //减法
friend Point operator*(int k,Point P); //倍数。。。
friend ostream& operator<<(ostream& o,const Point& P); //这个事正确的,运行可以。。。
};
是不是我的VC坏了,如果不重新安装,如何修改呢。。。
[解决办法]
有可能是你的编译器坏了,我这VS2008毫无问题。你自己用安装程序修复下编译器把
[解决办法]
class Point;Point operator+(const Point P1,const Point P2);Point operator-(Point P1,Point P2);Point operator*(int k,Point P);ostream& operator<<(ostream& o,const Point& P);
[解决办法]
TODO: Add your control notification handler code here