작성
·
243
0
처음에 실행되는 함수의 매개변수에 주소값을 참조하도록
해주었는데 main문 안에서 함수를 실행할때 ()안에 &x를 넣어 주었더니 빨간줄이 생성되었습니다. ()안에 x를 넣어주었더니
제대로 값이 실행되었는데요.
질문하자면 함수에 매개변수로 받는 값에 참조값을 넣어주었으면 main문 안에도 &x를 넣어주어야 함수가 실행이 되는거 아닌가요? ()안에 x를 넣어야 실행이 되는 이유를 모르겠습니다..
답변 3
1
따배씨7장 함수 ) 참조에 의한 인수전달
이 강의를 들으시면 해결되실것같습니다.
함수의 선언부분에서 int &x로 인자를 받는 것은
메인안에서 그 함수를 사용할 때 인자로 넣는 어떤
변수의 주소값을 [참조]하겠다는 뜻입니다.
그래서 논리상 그냥 변수를 넣어주는게 맞습니다.
0
using namespace std;
void doSomething(int &x)
{
x = 123;
cout << x << endl;
}
int main()
{
int x = 0;
cout << x << endl;doSomething(x);
cout << x << endl;
return 0;
}
cout << x + y << endl;
}
main문 안에 doSomething(&x)를 적으면 오류가 나고 doSomething(x)를 하게 되면 원하던 결과가
나왔습니다. 강의 내용중에 관련있는 강좌가 어떤게 있을까요?
0
안녕하세요? 질문하실 때는 몇 분 몇 초 인지를 정확히 적어주셔서 도움을 쉽게 받으실 수 있습니다. 일단 적어주신 내용으로만 볼 때는 Address of 연산자와 참조를 혼동하시는 것 같은데 1장에서 다룰 내용은 아니기 때문에 뒷부분 강의도 공부하시는 것이 좋을 것 같습니다.