You cannot forward-declare a typedef. But if you forward-declare the classes it relies on, both TemplateClassName
and MyStruct
, you should be able to define MyClass
.
namespace Really {
namespace Long {
template <typename>
class TemplateClassName;
}
}
class MyStruct;
typedef Really::Long::TemplateClassName<MyStruct> MyClass;
MyClass *p = 0;