C에서는 함수를 기본 매개변수로 선언할 수 있으므로 모든 인수에 대한 값을 제공하지 않고도 함수를 호출할 수 있습니다. 그러나 기본 매개변수를 지정하는 구문은 다를 수 있습니다.
사례 1:
<code class="cpp">int Add(int a, int b = 3); int Add(int a, int b);</code>
사례 2:
<code class="cpp">int Add(int a, int b); int Add(int a, int b = 3);</code>
두 구문 모두 유효합니다. 그러나 표준적이고 권장되는 접근 방식은 사례 1이며, 여기서 기본 매개변수는 함수 선언에 지정됩니다. 그 이유는 다음과 같습니다.
다음 시나리오를 고려하십시오.
사례 1:
컴파일러는 test.cpp를 컴파일하는 동안 헤더 파일에서 기본 매개변수 선언을 확인합니다. 이렇게 하면 기본 매개변수가 명시적으로 제공되지 않은 경우에도 test.cpp의 함수 호출이 유효합니다.
사례 2의 경우:
컴파일러는 test.cpp를 컴파일하는 동안 헤더 파일의 기본 매개변수 선언은 구현 파일(lib.cpp)에만 정의되어 있으므로 볼 수 없습니다. 기본 매개변수가 선언되지 않았기 때문에 test.cpp에서 컴파일 오류가 발생합니다.
따라서 함수 선언(lib.h)에 기본 매개변수를 지정하는 것이 전체에서 일관된 동작을 보장하는 표준 방법입니다. 다양한 편집 단위.
위 내용은 C: 선언 또는 정의에서 기본 매개변수를 어디에 정의해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!