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


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

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

  • 2016년 01월 15일에 작성됨

조회수 228


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
}
  • 2016년 01월 15일에 작성됨

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close