• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    해결됨

형변환 오버로딩에서 const 관련 질문이 있습니다.

23.02.21 17:00 작성 조회수 292

0

안녕하세요!

제가 학교에서 공부하던 코드에 대해 질문이 있는데요.

혹시 여기에 다른 코드 가져와서 질문을 하는게 안된다면 말씀해주시면 감사하겠습니다.

이렇게 3개의 type conversion operator를 만들어서

여기에 사용을 했는데요. 에러가 발견되어서 수정하다보니 type conversion operator뒤에 모두다 const를 넣거나 모두다 const를 빼면 저 오류가 사라지더라구요.

수업중에 const를 가지고 overloading을 할 수 있다는 내용은 배웠었는데요. 그때는 하나는 const를 넣고 하나는 const를 안 넣으면 const의 유무에 따라 오버로딩이 된다는 내용으로 기억합니다.

그런데 이렇게 const의 유무가 모두 동일하게 들어가야지만 에러가 나지 않는 것과는 다른 것 같아서 왜 그런건지 궁금해서 질문드려요.

type conversion operator를 사용할 때는 const 유무를 모두 동일하게 가져가야한다라고 이해하면 될까요?

답변 1

답변을 작성해보세요.

2

안녕하세요?

강의 소개 페이지에 안내해드렸듯이 강의 가격에 강의와 무관한 개인 상담까지 포함된 것은 아니라는 점을 안내드려야할 것 같습니다. 이 글과는 별도로 이 글을 보실 다른 분들을 위해 악용 사례를 적어드리자면 강의를 아예 안보고 해당 항목에 숙제 질문을 올리시는 경우도 있었습니다.

현재 질문답변은 질문답변 도우미를 고용해서 진행하고 있고 강의와 직접적인 연관이 없는 질문에 대해 대답을 해드릴지 말지는 순전히 도우미 본인에게 맡기고 있습니다.

그럼에도 불구하고 본김에 힌트를 드리자면

"type conversion operator를 사용할 때는 const 유무를 모두 동일하게 가져가야한다라고 이해하면 될까요?"

이렇게 암기식으로 접근하시면 계속 힘들어집니다. 특히 C++은 문법이 복잡하기 때문에 인간의 머리로써 단기간에 모두 외워서 사용하는 것은 불가능합니다. 그보다는 여기에 적지 않으셨지만 출력되었을 에러 메시지와 const의 기본 원리를 연결시켜서 생각해보면서 뭐가 문제인지를 찾아가시는 것을 권장합니다.

Creed님의 프로필

Creed

질문자

2023.02.23

강의 소개 페이지에 안내가 되어있는줄 몰랐습니다. 강의 외 질문 드려서 죄송합니다!