함수의 선언과 정의를 나눈다.
#include <iostream>
namespace lab1
{
void simplefunc(void); // 함수 원형 선언
}
namespace lab2
{
void simplefunc(void); // 함수 원형 선언
}
int main(void)
{
lab1::simplefunc();
lab2::simplefunc();
return 0;
}
void lab1::simplefunc(void) // 정의
{
std::cout << "lab1이 정의한 함수" << std::endl;
}
void lab2::simplefunc(void) // 정의
{
std::cout << "lab2이 정의한 함수" << std::endl;
}
궁금해졌다 왜 선언과 정의를 따로 두는지
함수 원형 선언?
- 함수의 원형을 먼저 선언하면 코드 작성의 에러를 줄일 수 있다고 함
- 소스파일을 컴파일 할 때 허용되는 형식이라는 것임을 알려주고 컴파일 하게 한다고 함
- 메인함수 위에 함수들이 나열되는 것을 방지(??)
- 매개변수의 이름은 필요없이 반환형, 함수 이름, 자료형 등만 알려주면 됨
참고 : [윤성우 열혈 C++ 프로그래밍] - 대부분의 내용 및 코드는 이 책에서 개인 공부 정리 목적으로 참고하였습니다.
'Language&Framework&Etc > C++' 카테고리의 다른 글
C언어 기반의 C++(01-2) 함수 오버로딩(Function Overloading) (0) | 2020.12.19 |
---|---|
C언어 기반의 C++(01-1) printf와 scanf를 대신하는 입출력 방식 (0) | 2020.12.19 |
1-5 이름공간(namespace)에 대한 소개 (0) | 2020.11.18 |
1-4 인라인(inline) 함수 (0) | 2020.11.18 |
1-3 매개변수의 디폴드값 (0) | 2020.11.18 |