임 운영자 < <연산자 << 오류
const ostream & operator<<(const ostream& out, const animal& rhs){
out << rhs.a;
return out;
}
는 첫 번째 인수는 ostream에 개체에 CONST에 refrence이기 때문에 메신저도 CONST를 반환하기 때문에 오류를 받고 그 메신저를 보인다에게 과부하하려고 과부하.
cout << objectOfAnimal1 << objectOfAnimal2 ;
내가 반환 형식이 하나 운영자의 서명을 변경하는 경우는 잘 작동 : 이미 문제가 당신의 가능한 이유가 정말 무엇인지 설명했습니다
ostream & operator<<(ostream& out, const animal& rhs)
ostream에 데이터를 쓰려고하는데, 이것은 매우 'const'연산이 아닙니다! – FatalError
@FatalError는 객체를 modidying하고있는 곳을 알 수 있습니까 – AlexDan
const는 객체가 수정되지 않는다는 것을 의미합니다. cout << objectofanimal1을 쓰면 const로 표시된 ostream에 쓰고있다. 컴파일러는 const가 될 수 없다는 것을 알기에 충분히 똑똑합니다 –