|
제가 보기엔 Call By Reference기법 사용에 의한 Error입니다. 일단 + 연산자 오버로딩의 리턴값이 const형입니다. 보통 이렇게 하죠. 그런데 그 리턴값으로 -연산을 하는데 -연산자 오버로딩의 인자가 const형이 아닌 Call By Reference(&) 타입으로 선언이 되있습니다. 당연히 Error가 나는게 맞는것 같습니다. 값을 변경시키면 안되는 const타입의 리턴을 받아서 값 변경 가능한 Call By Reference로 함수를 구현하였으니까요.. 실제로 위의 해결책처럼 vector3 operator-(const vector3 &v).. 처럼 const를 넣어 주거나 vector3 operator-(vector3 v) 처럼 Call By Reference 를 Call By Value로 바꿔 주면 Error가 안나옵니다. 제가 보기엔 BCB가 error를 확실히 잡아 주는것 같네요..
|