매개 변수에서 포인터를 가져 오는 '>'연산자를 오버로드하려고하는데 "연산자> 형식 클래스의 매개 변수가 하나 이상 있어야합니다."라는 오류 메시지가 나타납니다. 포인터를 사용하지 않으면 오류가 발생하지 않습니다.매개 변수에서 포인터를 사용하는 연산자 오버로드
참고 : S1은 elem뿐만 아니라 typedef 된 구조입니다.
bool operator>(S1 const *V1, S1 const *V2){
if (V1->elem->code > V2->elem->code)
return true;
return false;
}
나는 예를 들어, 다음과 같은 경우에 연산자를 사용
S1 * funct(S1 *var1, S1 *var2){
if (var1 > var2)
return var1;
return var2;
}
왜 참조를 사용하고 비교를 위해 포인터를 역 참조하지 않습니까? 즉. 'if ((* var1)> (* var2))' – GWW