编译时报错 fatal error C1001: INTERNAL COMPILER ERROR跪求各位大侠

来源:百度知道 编辑:UC知道 时间:2024/09/23 01:41:45
#include<iostream>
#include<iomanip>
using namespace std;
class Point
{
int x,y;
public:
void set(int a,int b)
{
x=a;
y=b;
}
void print()const
{
cout<<"c"<<x<<","<<y<<")\n";
}
friend Point operator+(const Point& a,const Point& b);
friend point add(const Point& a,const Point& b);
};
Point operator+(const Point& a,const Point& b)
{
Point s;
s.set(a.x+b.x,a.y+b.y);
return s;
}
Point add(const Point& a,const Point& b)
{
Point s;
s.set(a.x+b.x,a.y+b.y);
return s;
}
void main()
{
Point a,b;
a.set(3,2);
b.set(1,5);
(a+b).print();
operator+(a,b).print();
add(a+b).print();
}

这样就没错误了
#include<iostream>
#include<iomanip>
using namespace std;
class Point
{
int x,y;
public:
void set(int a,int b)
{
x=a;
y=b;
}
void print()const
{
cout<<"c"<<x<<","<<y<<")\n";
}
friend Point operator+(const Point& a,const Point& b);
friend Point add(const Point& a,const Point& b); //小p改为大P
};
Point operator+(const Point& a,const Point& b)
{
Point s;
s.set(a.x+b.x,a.y+b.y);
return s;
}
Point add(const Point& a,const Point& b)
{
Point s;
s.set(a.x+b.x,a.y+b.y);
return s;
}
void main()
{
Point a,b;
a.set(3,2);
b.set(1,5);
(a+b).print();
operator+(a,b).print();
(a+b).print(); //去掉add.
}