함수의 순서로 인해 C ++에서 재사용 가능한 코드를 작성할 수 없습니다.

에어건

서로 의존하는 두 개의 함수가 있지만 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] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

C ++에서 chrono 용 함수를 만들려고 할 때 생성자의 인스턴스가 없습니다.

분류에서Dev

사용 가능한 소스 코드에서 json.me를 빌드 할 수 없습니다.

분류에서Dev

WKInterfaceMap 클래스의 addAnnotation에서 사용 가능한 함수를 호출 할 수 없습니다.

분류에서Dev

인수 / 변수가 다른 플레이 북에서 여러 번 호출 할 수있는 작업으로 구성된 재사용 가능한 "함수"를 만들려면 어떻게해야합니까?

분류에서Dev

C ++에서 실행되고 다른 함수를 통해 전달되는 다양한 코드 블록으로 함수를 정의 할 수 있습니까?

분류에서Dev

오류 " 'DataFrameGroupBy'개체의 호출 가능한 속성 'sample'에 액세스 할 수 없습니다. 'apply'메서드를 사용해보십시오."

분류에서Dev

"사용 가능한 메모리를 확인 할 수 없습니다."얻기 오라클 DB의 18C에

분류에서Dev

다른 함수의 함수에서 변수를 사용할 수 없습니다.

분류에서Dev

Angular-현재 사용자가 보호 된 경로에 액세스 할 수있는 권한이 있는지 확인하기 위해 가드에서 현재 사용자의 역할을 가져올 수 없습니다.

분류에서Dev

Applescript (MacOS 자동화 사용)에서 한 코드 내에서 두 작업의 순서를 조작 할 수 있습니까? (속도를 높이기 위해)

분류에서Dev

TypeScript에서 생성자 함수를 다른 함수의 인수 유형으로 사용할 수 있습니까?

분류에서Dev

C ++의 Functional Programming에서 함수 메모를 재현 할 수 없습니다.

분류에서Dev

간헐적 인 nVidia 드라이버로드-오류 : 사용 가능한 시스템에서 정보를로드 할 수 없습니다 (Ubuntu 18.10).

분류에서Dev

대리자에서 확장 메서드를 사용하는 C #의 함수 체인. 성능에 영향이 있습니까? 사용법과 함께 코드 스 니펫을 게시하고 있습니다.

분류에서Dev

유성 앱에서 setTimeout ()에 대한 함수를 사용할 수 없습니다.

분류에서Dev

생성 된 테이블에서 연결된 테이블에 78 개의 특정 코드를 결합합니다. IN () 함수 (문자 제한)를 사용할 수 없습니다. RI를 사용할 수 없습니다.

분류에서Dev

sse를 사용하는 코드에서 문제가있는 부분을 이해할 수 없습니다.

분류에서Dev

Eclipse IDE에서 작성한 C ++ 코드를 VC ++ IDE에서 문제없이 실행할 수 있습니까?

분류에서Dev

Markdown에서 download.file에 대한 코드를 재현 할 수 없습니다. 동일한 코드를 콘솔에 복사하면 작동합니다.

분류에서Dev

C에서 Null 포인터를 이해할 수 없습니다.

분류에서Dev

개인적으로 상속 된 메서드를 사용하여 순수 가상 메서드를 어떻게 재정의 할 수 있습니까?

분류에서Dev

GHCJS가 Template Haskell에서 생성 한 코드를 재사용 할 수 있습니까?

분류에서Dev

Salesforce에서 C # 코드를 작성할 수 있습니까?

분류에서Dev

Azure vpn 오류이 확장 가능한 인증 프로토콜과 함께 사용할 수있는 인증서를 찾을 수 없습니다. (오류 798)

분류에서Dev

node.js에서 재사용 가능한 함수를 작성하는 방법은 무엇입니까?

분류에서Dev

bstNode *를 bstNode **로 변환 할 수 없다는 코드 오류. 여기서는 재귀와 함께 이중 포인터 개념을 사용하고 있습니다.

분류에서Dev

함수에서 반환 한 하위 배열은 "null 유형의 값"으로 인해 사용할 수없는 경우가 있습니다.

분류에서Dev

Windows에서 iPhone 앱용 C # 코드를 작성한 다음 나중에 파일을 Mac에 복사 할 수 있습니까?

분류에서Dev

CDC로 인해 SSDT를 사용하여 소스 제어에 SQL Server 코드를 게시 할 수 없습니다.

Related 관련 기사

  1. 1

    C ++에서 chrono 용 함수를 만들려고 할 때 생성자의 인스턴스가 없습니다.

  2. 2

    사용 가능한 소스 코드에서 json.me를 빌드 할 수 없습니다.

  3. 3

    WKInterfaceMap 클래스의 addAnnotation에서 사용 가능한 함수를 호출 할 수 없습니다.

  4. 4

    인수 / 변수가 다른 플레이 북에서 여러 번 호출 할 수있는 작업으로 구성된 재사용 가능한 "함수"를 만들려면 어떻게해야합니까?

  5. 5

    C ++에서 실행되고 다른 함수를 통해 전달되는 다양한 코드 블록으로 함수를 정의 할 수 있습니까?

  6. 6

    오류 " 'DataFrameGroupBy'개체의 호출 가능한 속성 'sample'에 액세스 할 수 없습니다. 'apply'메서드를 사용해보십시오."

  7. 7

    "사용 가능한 메모리를 확인 할 수 없습니다."얻기 오라클 DB의 18C에

  8. 8

    다른 함수의 함수에서 변수를 사용할 수 없습니다.

  9. 9

    Angular-현재 사용자가 보호 된 경로에 액세스 할 수있는 권한이 있는지 확인하기 위해 가드에서 현재 사용자의 역할을 가져올 수 없습니다.

  10. 10

    Applescript (MacOS 자동화 사용)에서 한 코드 내에서 두 작업의 순서를 조작 할 수 있습니까? (속도를 높이기 위해)

  11. 11

    TypeScript에서 생성자 함수를 다른 함수의 인수 유형으로 사용할 수 있습니까?

  12. 12

    C ++의 Functional Programming에서 함수 메모를 재현 할 수 없습니다.

  13. 13

    간헐적 인 nVidia 드라이버로드-오류 : 사용 가능한 시스템에서 정보를로드 할 수 없습니다 (Ubuntu 18.10).

  14. 14

    대리자에서 확장 메서드를 사용하는 C #의 함수 체인. 성능에 영향이 있습니까? 사용법과 함께 코드 스 니펫을 게시하고 있습니다.

  15. 15

    유성 앱에서 setTimeout ()에 대한 함수를 사용할 수 없습니다.

  16. 16

    생성 된 테이블에서 연결된 테이블에 78 개의 특정 코드를 결합합니다. IN () 함수 (문자 제한)를 사용할 수 없습니다. RI를 사용할 수 없습니다.

  17. 17

    sse를 사용하는 코드에서 문제가있는 부분을 이해할 수 없습니다.

  18. 18

    Eclipse IDE에서 작성한 C ++ 코드를 VC ++ IDE에서 문제없이 실행할 수 있습니까?

  19. 19

    Markdown에서 download.file에 대한 코드를 재현 할 수 없습니다. 동일한 코드를 콘솔에 복사하면 작동합니다.

  20. 20

    C에서 Null 포인터를 이해할 수 없습니다.

  21. 21

    개인적으로 상속 된 메서드를 사용하여 순수 가상 메서드를 어떻게 재정의 할 수 있습니까?

  22. 22

    GHCJS가 Template Haskell에서 생성 한 코드를 재사용 할 수 있습니까?

  23. 23

    Salesforce에서 C # 코드를 작성할 수 있습니까?

  24. 24

    Azure vpn 오류이 확장 가능한 인증 프로토콜과 함께 사용할 수있는 인증서를 찾을 수 없습니다. (오류 798)

  25. 25

    node.js에서 재사용 가능한 함수를 작성하는 방법은 무엇입니까?

  26. 26

    bstNode *를 bstNode **로 변환 할 수 없다는 코드 오류. 여기서는 재귀와 함께 이중 포인터 개념을 사용하고 있습니다.

  27. 27

    함수에서 반환 한 하위 배열은 "null 유형의 값"으로 인해 사용할 수없는 경우가 있습니다.

  28. 28

    Windows에서 iPhone 앱용 C # 코드를 작성한 다음 나중에 파일을 Mac에 복사 할 수 있습니까?

  29. 29

    CDC로 인해 SSDT를 사용하여 소스 제어에 SQL Server 코드를 게시 할 수 없습니다.

뜨겁다태그

보관