서로 의존하는 두 개의 함수가 있지만 C ++의 함수 순서는 재사용 가능한 코드를 작성하는 능력을 제한합니다. 예를 들어, functionB에서 functionA를 사용하고 싶습니다.
functionB has to be above functionA.
하지만 만약
functionB는 functionA를 사용하고 functionA는 functionB도 사용하고 있습니까? 그것은 오류를 줄 것이다
다음은 코드와 C ++의 함수 순서입니다.
void getAnswer(string answer) {
mainProgram();
}
void mainProgram() {
getAnswer("awesome");
}
int _tmain(int argc, _TCHAR* argv[])
{
mainProgram();
return 0;
}
보시다시피 mainProgram ()은 getAnswer () 함수를 사용하고 그 반대의 경우도 마찬가지입니다.
getAnswer () 함수를 삭제하고 모든 코드를 간단히 getAnswer ()에서 mainProgram ()으로 던져서이 문제를 해결할 수 있지만 문제는 약 5 번 반복 코드를 작성하고 정말 지저분하게 보일 것입니다. .
함수 를 앞으로 선언 해야합니다.
//forward declaration
void mainProgram();
void getAnswer(string answer) {
//sees the declaration above, doesn't need the definition
mainProgram();
}
//now we define the function
void mainProgram() {
getAnswer("awesome");
}
이런 종류의 내용은 소개 책에서 다루어야합니다. 좋은 입문서가 없다면 하나를 구하십시오 .
또한 어떤 시점에서이 상호 재귀를 종료해야합니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다