为什么GCC允许从私有嵌套类继承?

vit*_*aut 10 c++ gcc g++ nested-class private-members

请考虑以下代码:

class A {
  class B {};
};

template <typename C>
class D : A::B {};

void f() {
  D<int> d;
}
Run Code Online (Sandbox Code Playgroud)

D<int>继承自A::B哪个私有嵌套类.我原以为这是一个错误,但GCC接受这个代码.它是海湾合作委员会的一个错误还是我错过了什么?

vit*_*aut 7

我找到了答案.因为它可能对其他人有用,我在这里发布 - 这是GCC bug 47346.