default파라미터는 함수 선언/정의 중 어디에 적어야 하나요?

조회수 4659회

어디에 default parameter를 써야 하나요? 함수 선언에? 함수 정의에? 아니면 둘 다?

사람들이 적어놓은 코드는 다 자기 마음대로 적어놓은 것 같은데 무슨 규칙이라도 있나요?

1 답변

  • 좋아요

    0

    싫어요
    채택 취소하기

    default parameter는 함수 선언에 표시해야 합니다. 그래야지 다른 위치에서 함수를 호출할 때 볼 수 있어요.

    만약에 헤더 파일에 default 파라미터 없이 선언해놓고 A.cpp에 함수를 정의하면서 default 파라미터를 쓴다면 B.cpp같은 다른 곳에서는 default 파라미터가 있는 걸 알 수 없습니다.

    //myheader.hpp
    
    void myfunc(int nonDefault, float Default);
    
    /******* 파일 나눔 ********/
    
    //A.cpp
    
    int myfunc(int nonDefaultParam, float DefaultParam=3){
        cout << "hello" << endl;
        return 1;
    }
    
    void funcA(){
        myfunc(3); //ok
        myfunc(3, 3.0); //ok
    }
    
    
    /******* 파일 나눔 ********/
    
    //B.cpp
    
    void funcA(){
        myfunc(3); //error!!!!!!!!!!!
        myfunc(3, 3.0); //ok
    }
    

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)