次のコードはC4624を引き起こします。しかし、D は B のサブクラスではないことがわかります。なぜこの警告が表示されるのでしょうか? ありがとう!
class B {
// Uncomment the following line to resolve.
// public:
~B();
};
class D {B b;}; // C4624 B's destructor not public
警告の詳細:
C4624 : '派生クラス': 基本クラスのデストラクタにアクセスできないため、デストラクタを生成できませんでした
デストラクタは基本クラスでアクセスできなかったため、派生クラスに対して生成されませんでした。この型のオブジェクトをスタックに作成しようとすると、コンパイラ エラーが発生します。