강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

박찬주님의 프로필 이미지
박찬주

작성한 질문수

홍정모의 따라하며 배우는 C++

1.12 헤더 가드가 필요한 이유

같은 함수를 두 번 정의했을 때 에러가 뜨는 건 식별자 문제인가요?

작성

·

282

1

제가 이해한 바로는, 이미 한 번 같은 이름으로 메모리 공간이 할당되었는데 다시 같은 이름이 쓰이게 되면 충돌 같은 게 일어나 에러가 뜨게 되는 것 같은데 이렇게 되는 게 맞나요? 아니면, 컴파일러가 이 상황 자체를 비정상적이라고 인지해서 프로그래머에게 알려주는 건가요?

또, 어떤 local scope 안에서 같은 이름으로 변수 또는 함수가 여러 번 선언되었을 때에도 같은 원리로 컴파일 에러가 뜨게 되나요? 

답변 1

1

먼저의 질문에서는 두개의 표현의 차이를 잘 모르겠군요. 같은 이름의 변수를 정의하면 컴파일 에러가 뜨는데 이는 컴파일러가 잡아주는 에러입니다.

두번째는 맞습니다. 그러나 함수는 같은 이름이지만 다른 parameter를 받는 경우에 구분됩니다. 아직 함수에 대한 개념이 익숙치 않으시다면 진행하시다보면 알게되실거라 생각합니다.

박찬주님의 프로필 이미지
박찬주

작성한 질문수

질문하기