default파라미터는 함수 선언/정의 중 어디에 적어야 하나요?
c++
기본인자
어디에 default parameter를 써야 하나요? 함수 선언에? 함수 정의에? 아니면 둘 다?
사람들이 적어놓은 코드는 다 자기 마음대로 적어놓은 것 같은데 무슨 규칙이라도 있나요?
-
2016년 01월 15일에 작성됨
조회수 1088
1 답변
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일에 작성됨
출처 : https://stackoverflow.com/questions/4989483/where-to-put-default-parameter-value-in-c 이 질문은 저작자표시-동일조건변경허락(https://creativecommons.org/licenses/by-sa/3.0/deed.ko) 라이센스로 이용할 수 있습니다. 윤동길 2018.3.22 12:00