在创建没有附加功能的类型时,我尝试使用using
,而不是子类化或使用typedef
。
我有一个 CRTP 层次结构,我试图在树上传播具体类型。
GrandKid
似乎编译得很好。有办法GrandKid_2
上班吗?
错误信息
junk.cpp:18:26: error: ‘GrandKid_2’ was not declared in this scope
代码
template<typename T>
struct Parent
{
};
template<typename T>
struct Child
: public Parent<T>
{
};
struct GrandKid :
public Child<GrandKid>
{
};
// using GrandKid_2 = Child<GrandKid_2>; // doesn't compile
int
main( int argv, char* argc[] )
{
GrandKid gk; // ok
}