• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    미해결

재귀함수에서 pass by reference

21.01.09 20:55 작성 조회수 106

0

#include <iostream>
using namespace std;

void recursion(int& n);

int main()	{
	int n;
	cin >> n;
	recursion(n);
	return 0;
}

void recursion(int& n)
{
	if(n==0) return;
	
	else {
		recursion(n-1);
		cout << n << " ";
	}
}

안녕하세요! 56번 재귀함수 분석에서 이렇게 코드를 짰는데

recursion(n-1); 부분에서 다음과 같이 에러가 나왔습니다!

invalid initialization of non-const reference of type 'int&' from an rvalue of type 'int'.

pass by reference로 값을 받으면 안되나요..? 왜 이런 에러가 나왔는지 잘 모르겠습니다..ㅠㅠ

답변 1

답변을 작성해보세요.

0

안녕하세요^^

저도 잘 모르지만....

주소를 넘기려면 변수이름으로만 넘겨야 하는 것 아닌가요? 

n-1은 값을 넘긴다는 의미같은데요.