宣言しようとすると、プライベート継承された基本クラスが「このコンテキスト内でアクセスできない」というエラーが表示される派生クラス内のベースクラスのメンバー::: Xと http://bytes.com/topic/c/answers/164246-private-inheritance-renders-class-inaccessibleプライベート継承で、このコンテキスト内で「アクセスできない」エラーが発生しました。
明示的に参照するXは、上記の場合に動作しますが、どのようなコードは、以下のような関数である場合:
void fooby()
{
class X {};
class Y : private X {};
class Z : public Y
{
public:
X x; // compiler "inaccessible within this context" error
};
};
方法あなたはこの場合Xを参照していますか?
foobyがstruct/classの場合、:: fooby :: Xは動作しますが、上記の場合にはどうすればよいか分かりません。
同じタイプのメンバークラスと基本クラスの両方を使用しようとしていますか?たぶんそれは別の提案を助けるだろう。 –
@マークB - これは、私が理解しようとしている動作を説明するための単なる人為的な例です。 –