관리 메뉴

드럼치는 프로그래머

[API/MFC] fatal error C1014: 포함 파일이 너무 많습니다 본문

★─Programing/☆─API | MFC

[API/MFC] fatal error C1014: 포함 파일이 너무 많습니다

드럼치는한동이 2011. 11. 4. 14:56

부모가 자식의 헤더를 포함하고, 자식이 부모의 헤더를 포함시키도록 구성했을때, 중첩 클래스(순환 참조)가 되버리는 바람에 다음과 같은 에러가 발생한다.

fatal error C1014: 포함 파일이 너무 많습니다 : 수준 = 1024 /* error */
error C2143: 구문 오류 : ';'이(가) '*' 앞에 없습니다. /* error */
error C4430: 형식 지정자가 없습니다. int로 가정합니다.

에러가 발생하는 헤더 중첩, 순환 참조 클래스
#include "Child.h"
class CParent
{
    CChild* m_pChild;
};

#include "Parent.h"
class CChild
{
    CParent* m_pParent;
};
 
이런 경우 #ifndef #define #endfi 나 #pragma once같은 방법을 사용해도 처리가 안되는데, 다음과 같이 수정하면 된다.
#include "Child.h"
class CParent
{
    CChild* m_pChild;
};

class CParent; // #include 대신 class로 선언해줌.
class CChild
{
    CParent* m_pParent;
};

Posted by
극악해골



[출처] http://www.evilskel.com/219
Comments