C++ C++;:如何从封闭类继承

C++ C++;:如何从封闭类继承,c++,C++,我想让一个类从其封闭的类继承,如: class A : public A::B { public: class B {}; }; 但是,未定义A::B的编译器: error: expected class-name before '{' token class A : public A::B { 也就是说,在A的定义完成之前,A::B将不可用 我已经试着在前面加上一句话 class A; class A::B; 但这没用。我如何才能正确地声明和定义它 注意:本质上,我试图做的是相

我想让一个类从其封闭的类继承,如:

class A : public A::B {
public:
    class B {};
};
但是,未定义
A::B
的编译器:

error: expected class-name before '{' token
 class A : public A::B {
也就是说,在
A
的定义完成之前,
A::B
将不可用

我已经试着在前面加上一句话

class A;
class A::B;
但这没用。我如何才能正确地声明和定义它


注意:本质上,我试图做的是相反的。

这是不可能的,没有定义外部类就无法声明内部类。

这是不可能的,没有定义外部类就无法声明内部类。

在指定继承的地方,内部类还不知道。所以你不能这么做。但是,如果要限制范围,则只需使用名称空间,例如,在指定继承的位置将其称为
detail
implementation

,内部类还不知道。所以你不能这么做。但如果重点是限制范围,则只需使用名称空间,例如,将其称为
detail
implementation