헤더가드 및 모듈 구조 설계
결론 먼저: 함수 선언은 헤더에, 함수 정의는 소스에..
샘플 함수를 몇개 만들고, 호출해 보자.
함수의 호출 순서에 따른 에러 발생 및 해결책
모듈별 분할 설계: 함수의 선언과 정의는 다르다!! ★★★
전방선언: 함수를 미리 (정의가 아닌) 선언하면 문제가 해결된다. ★★
함수를 중복정의할수는 없지만, 중복 선언은 문제없다. ★★★
헤더 파일에 함수의 정의를 넣고 빌드해보자. ok
헤더 파일에 함수의 정의를 넣고 빌드해보자. error!
헤더가드: 중복 정의를 헤더가드로 막아보자.
헤더가드 작성하는 관례: #pragma vs #ifndef
헤더가드가 없어도, 함수 호출 관계를 보고 판단하면 되지 않을까요?
헤더 가드를 적용해보자.
헤더 가드를 적용해도 문제가 있다! ★★★