Make Unreal REAL.
article thumbnail

 

선언부와 구현부(a.k.a 정의부) 둘 모두에 디폴트 매개변수를 지정하면 컴파일 오류가 발생한다.

두 매개변수의 값이 다르게 지정될 수 있기 때문이다.

 

그래서 둘 중 어느 곳에 지정하는 것이 바람직한지 검색해보았다.

 

 

default parameters in .h and .cpp files

COMPILER: g++ 4.7.2 Ok. So I am confused about default parameters in .h and .cpp files. It is mentioned in many places( including this site) that default parameters can be added only in .h files ...

stackoverflow.com

선언부에 작성하는 것이 바람직하다고 한다.

 

컴파일러는 함수나 클래스가 작성된 컴파일 유닛(오브젝트 파일)을 컴파일할 때 헤더 파일을 참조한다.

 

디폴트 매개변수가 지정된 함수를 호출하는 코드를 컴파일할 때 기본값을 지정하기 때문에 구현부에 지정된 디폴트 매개변수는 상관 없다는 것이다.

 

void print(int num = 10);

void print(int num)
{
    cout << num;
}

'C++ > 기타' 카테고리의 다른 글

재사용 가능한(Reusable) 코드 작성  (0) 2023.02.16
배열의 크기를 확인할 때 주의할 점  (0) 2023.02.13
실수를 비교하는 방법  (0) 2023.01.30
람다 식(Lambda expression)  (0) 2023.01.21
펑터(Functor)  (0) 2023.01.21
profile

Make Unreal REAL.

@diesuki4

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

검색 태그