🤍 전 강의 25% 할인 중 🤍

2024년 상반기를 돌아보고 하반기에도 함께 성장해요!
인프런이 준비한 25% 할인 받으러 가기 >>

  • 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

10:10 경에

20.05.19 17:56 작성 조회수 184

1

안녕하세요

강의 잘 듣고 있습니다.

10:10 경에 foo함수에 아규먼트로 리터럴이 들어올 수 있게 하려면,파라미터에 const를 붙여 주면 되고,

단 x의 값이 변경되지 않을 경우에만 그렇게 할 수 있다고 하셨는데요.

제가 foo함수 내부에서 x에 1을 더해주는 식을 추가했는데 컴파일 에러가 나지도 않고 잘 실행되는데 그 이유는 뭐죠?

void foo(const int& x)

{

cout << x + 1<< endl;

}

답변 1

답변을 작성해보세요.

3

Hello Yeo님의 프로필

Hello Yeo

2020.05.19

만드신 코드는 x에 1을 직접 더하는 방식이 아닙니다
x의 값을 가져오고, 거기에 1을 더한 값을 출력하는겁니다.

void foo(const int &x)
{
        cout << ++x << endl;
}

와 같이 작성하시면 에러가 발생합니다.

작성하신 코드 아래에
cout << x << endl; 을 추가해보시는것도 확인하는 방법이 될 수 있겠네요

채널톡 아이콘