이 아주 순진해 보이는 샘플 프로그램을 보자. #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기초
#
프로그래밍
원문 링크 : [C++ 2.7] 함수 전방 선언 및 정의