default파라미터는 함수 선언/정의 중 어디에 적어야 하나요?
조회수 4659회
어디에 default parameter를 써야 하나요? 함수 선언에? 함수 정의에? 아니면 둘 다?
사람들이 적어놓은 코드는 다 자기 마음대로 적어놓은 것 같은데 무슨 규칙이라도 있나요?
-
(•́ ✖ •̀)
알 수 없는 사용자 - 〉
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 }
댓글 입력