[英]C++ inherit template class with its own in-class struct
template <typename Foo>
class A{
};
class B : A<B::Bar>{
struct Bar{
};
};
我想知道我怎么能做这样的事情,或者这是将 struct Bar 移到 class B 之外的唯一方法。
你根本做不到!
不能使用未知类型作为模板参数,也不能转发嵌套的 class 类型。 两者加在一起就不可能做你喜欢做的事。
关于转发嵌套的 class 声明,请参见此处: 嵌套 class 的转发声明
已经有人提议在 C++ 中添加这样的东西,但我认为即使在 C++20 中也不是标准的一部分。 嵌套类的前向声明
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.