로딩
요청 처리 중입니다...

[C++ 2.7] 함수 전방 선언 및 정의

 [C++ 2.7] 함수 전방 선언 및 정의

이 아주 순진해 보이는 샘플 프로그램을 보자. #include int main() { std::cout << "3 더하기 4는: " << add(3, 4) << '\n'; return 0; } int add(int x, int y) { return x + y; } 아마 우리는 이 프로그램이 다음과 같은 결과를 출력할 것이라고 예상할 수 있다. 3 더하기 4는: 7 사실, 위 프로그램은 전혀 컴파일되지 않는다!

Visual Studio는 다음과 같은 컴파일 오류를 생성한다. error C3861: 'add': 식별자를 찾을 수 없습니다. 이 프로그램이 컴파일 되지 않는 이유는 컴파일러가 코드 파일의 내용을 "순차적"으로 컴파일하기 때문이다.

컴파일러가 `main` 범위의 `add`함수 호출에 도달했을 때 `add`가 무엇인지 알 수 없다. 왜냐하면 우리는 해당 라인이 가기까지 `add`를 정의하지 않았기 때문이다!

그러면 `식별자`를 찾을 수 없다는 오류가 발생한다...

# cpp # 코딩강좌 # 코딩 # 컴퓨터과학 # 컴퓨터공학 # 컴공 # 소프트웨어개발 # 객체지향 # 강좌 # oop # learncpp # cpp언어 # cpp기초 # 프로그래밍