外部クラスのプライベートセクションにあるネストされたクラスを継承したいと思います。出来ますか?親密なネストされたクラス継承
class A {
friend class B;
friend class C;
private:
class NiceNestedClass {
};
};
class C {
void a() {
A::NiceNestedClass works;
}
};
class B : A::NiceNestedClass{
};
NiceNestedClassのインスタンス化は問題になりません。しかし、g ++ではそれを継承することはできません。回避策はありますか?
g++ -std=c++11 a.c -o a
a.c:5:11: error: ‘class A::NiceNestedClass’ is private
class NiceNestedClass {
^
a.c:15:14: error: within this context
class B : A::NiceNestedClass{
グラム++ 4.8.4、STD = C++ 11
作品:http://rextester.com/YIFH82076 エラーが表示されますか?それはおそらく無関係です。 –