C++用自己的类内结构继承模板类


template <typename Foo>
class A{
};
class B : A<B::Bar>{
struct Bar{
};
};

我想知道我怎么能做这样的事情,或者这是将structBar移到类B之外的唯一方法。

你根本做不到!

不能使用未知类型作为模板参数,也不能转发嵌套类类型。两者加在一起就不可能做你喜欢做的事。

关于转发嵌套类声明请参阅此处:嵌套类的转发声明

已经有人提议在C++中添加这样的东西,但我认为它不是标准的一部分,甚至在C++20中也不存在。嵌套类的前向声明

最新更新