나는 typedef C++에서 선언 된 수 없다는 것을 알고 있지만, 다음과 같은 문제에 대한 최선의 해결책이 무엇인지 궁금합니다. 이 같은 MyClass
를 선언하는 헤더 파일이 있습니다앞으로 템플릿 클래스에 대한 typedef를 선언
#include <TemplateClassHeaders>
struct MyStruct
{
// ...
}
typedef Really::Long::TemplateClassName<MyStruct> MyClass;
MyClass
가 많은 장소에서 사용됩니다,하지만 대부분 그냥 포인터 Qt는 신호 슬롯 메커니즘을 통해 전달되는 것처럼. 전달 선언은 필요한 모든 것이지만 MyClass
은 작동하지 않는 typedef입니다. MyClass
에 대한 포인터를 사용하는 모든 헤더에 myclass.h를 추가하지 않는 방법이 있습니까?
'MyClass 클래스는, 당신은 질문을 입력하는 동안'구글, 심지어 http://stackoverflow.com/questions/804894/forward-declaration-of-a를 공개해야한다, 제안 된 SO 링크보고 – mah
@mah 두 번째 생각을 주거나 최소한 질문 전체를 자동으로 downvoting하는 대신에 (템플릿 및 템플릿 인수없이) 비슷한 질문으로 알려 주면 'class MyClass'는 작동하지 않습니다 (재 선언 때문에 템플릿이 포함되지 않은 경우에도 작동하지 않습니다). – jaho
@Marian,'class MyClass;'는 관련된 템플릿이 없다면 작동 할 것입니다. –