| [ 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할 방법이 없을까요? 또는 이런 경우에 어떤 꽁수가 가능할까요? * 애인구함 * 중증 권태감 * 배고파함 * 피곤해함 * |