강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

mmq mmq님의 프로필 이미지
mmq mmq

작성한 질문수

홍정모의 따라하며 배우는 C++

7.3 참조에 의한 인수 전달

10:10 경에

작성

·

266

2

안녕하세요

강의 잘 듣고 있습니다.

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

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

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

void foo(const int& x)

{

cout << x + 1<< endl;

}

답변 1

4

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

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

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

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

mmq mmq님의 프로필 이미지
mmq mmq

작성한 질문수

질문하기