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

어디에 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
    }
    

ᕕ( ᐛ )ᕗ
로그인이 필요합니다

작성한 답변에 다른 개발자들이 댓글을 작성하거나 댓글에 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.