有可能吗?
示例:
template<class T>
class A {};
class B : public A<B::C>
{
public:
struct C {};
};
问题是B::C是未声明的标识符(原因很明显),我不知道如何使它工作。总之:如果模板参数设置为C,B是否可以从A派生?
否。B
在这一点上是不完整的,因为您还没有定义它应该从中继承的类。因此,这里不可能引用B::C
(嵌套类/结构依赖于其封闭类/结构的完整定义,因为嵌套类型可以而且经常依赖于封闭类型的定义)。