-
typedef struct Point {
-
double x;
-
double y;
-
bool operator==(struct Point p) {
-
if (x != p.x) return false;
-
if (y != p.y) return false;
-
return true;
-
}
-
};
-
-
void test(const Point & A, const Point & B) {
-
if (A == B) {
-
...
-
}
-
...
-
}
구조체를 비교하려고 operator를 저렇게 만들어봤는데요.
12번째 라인에 A == B 여기서 빨간부분에 에러가 납니다.
에러 내용이 이러한 피연산자와 일치하는 "==" 연산자가 없습니다. 피연산자 형식이 const Point == const Point 입니다. 이구요.
인수로 들어오는 const Point & A에 const 를 지우면 잘 작동하는데
괜히 오기가 생겨서 const를 안빼고도 사용가능하게 할 수 없나 싶어서 질문드립니다.