C++ 에서


 ; 앞에 ~가 없습니다

형식지정자가 없습니다 ~기본 int를 지원하지 않습니다


등의 에러가 나오면


그 에러가 뜬 부분을 클릭하여

해당 클래스와 에러가 관계되는 클래스에 들어가서


서로 클래스 포함이 교차되지 않았는지 확인해보길 바랍니다!



ex)


A 클래스를 만들었다

B 클래스를 만들었다



1.


A 클래스에 B 클래스를 포함하였다

B 클래스에는 A 클래스를 포함하지 않았다

=> 에러안남



2. 


A 클래스에 B 클래스를 포함하였다

B 클래스에 A 클래스를 포함하였다

=> 에러남




★원인


A.cpp 파일에는 A.h 가 포함되어있다.

소스를 읽는 와중에 B.h 를 발견했다.


그럼 B.h 를 포함시키기 위해 B.h 로 들어간다


근데 여기에 또 A.h 가 있다


??????? 아직 컴파일러는 A.h 를 다 읽지 않은 상태이고,

#pragma once 로 인해 헤더파일은 단 한번밖에 읽을 수 없는데

교차했기 때문에 컴파일러는 A 클래스를 없는 클래스로 인식하여 에러를 띄운다.



이렇게 하지 않았는데도 간혹 같은 에러가 뜨는 경우가 있는데

그때는 간접적으로 서로 교차된 것이니 확인해볼것!





http://ekessy.tistory.com/20 


여기 게시물을 보고 이해하여 제가 빠르게 이해할 수 있도록 정리한 것입니다

만약 서로 교차가 필요할 경우엔, 이 곳에서 확인!