CnUnix

[알림판목록 I] [알림판목록 II] [글목록][이 전][다 음]
[ CnUnix ] in KIDS
글 쓴 이(By): Sequoia (매지동자)
날 짜 (Date): 2004년 1월  9일 금요일 오후 03시 56분 49초
제 목(Title): C++에서 템플릿 사용하기



        다음과 같은 코드가 있습니다.

SomeTemplate.h---------

template <typename T>
class SomeTemplate
{
        .....
};


SomeClass.h----------
#include "SomeTemplate.h"

class SomeClass
{
        ....
};

typedef SomeTemplate<SomeClass> SomeType;


SomeMain.h---------
class SomeType;

class SomeMain
{
        ....
        SomeType* m_pSomeTypeObject;
};


SomeMain.cpp-------
#include "SomeClass.h"

SomeMain::SomeMain()
....

        이 때 SomeType을 위와 같이 forward declaration 하면 다른

        방식으로 선언되었다고 컴파일 에러를 내면서 뻗는군요. 해당

        템플릿이 종종 수정되는데 템플릿의 소스코드는 전부 include

        되어 디펜던시가 생기는 만큼 템플릿이 수정되면 SomeMain.h

        를 include한 모든 소스코드를 다시 컴파일해야 하는 문제가

        생겼습니다.



        이런 경우 SomeType을 적절히 forward declaration할 방법이

        없을까요? 또는 이런 경우에 어떤 꽁수가 가능할까요?



* 애인구함 * 중증 권태감 * 배고파함 * 피곤해함 *

[알림판목록 I] [알림판목록 II] [글 목록][이 전][다 음]
키 즈 는 열 린 사 람 들 의 모 임 입 니 다.