Cat() :itsAge(0), itsWeight(0){} Cat(int age, int weight) :itsAge(age), itsWeight(weight){} int GetAge()const{ return itsAge; } //int GetAge(){ return itsAge; } int GetWeight()const{ return itsWeight; } friend Cat operator+(const Cat &, const Cat &); Catoperator+(const Cat & lhs, const Cat & rhs) TempCat.GetAge() = lhs.GetAge() + rhs.GetAge(); TempCat.GetWeight() = lhs.GetAge() + rhs.GetAge(); totalAge = lhs.GetAge() + rhs.GetAge(); cout << C.GetAge() << endl; }
저부분을 ㅈㅜ석 씌우고 밑에 주석을 살리면 정상작동 되구요
TempCat.GetAge();이나 TempCat.GetWeight();만 적었을때는 에러가 없는걸로 봐선
TempCat.GetAge() = lhs.GetAge() + rhs.GetAge(); TempCat.GetWeight = lhs.GetWeight() + rhs.GetWeight();
이 부분의 문장 자체에 문제가 있는걸로 보이는데
각각 에러 문장은
error C2106: '=' : left operand must be l-value
error C2659: '=' : function as left operand
이렇게 나오네요;;; 이건 뭐 에러뜨는 종류도 다르고...
아무래도 상수형(const)이 관련된것 같은데...하 머리아파 ㅠㅠ