c++ 기초문법을 때고나서 작업을 하다보면 C++ 헤더파일이 꼬이는 문제가 발생한다
A - #include B
B - #include C
C - #include A
헤더 파일에 이렇게 넣고 빌드하는 순가 에러가 발생한다
그 이유는 C를 빌드할때 A를 참조하고 A는 다시 B를 B는 C를 참조하기 때문이다
즉, 정의되어 있지 않는 C를 참조하기 때문!!!
그렇기 때문에 C++ 헤더에는 무턱대고 include를 하기보다는 전방선언을 통해, 나는 해당 클래스를 자세히는 모르지만 이러한 클래스를 참조할 거야! 라고 선언하고 사용하면 편안하다
예를 들자면,
class A; // 전방선언
class B{
std::shared_ptr<A> a_class;
}