コピー コンストラクターが初期化リストで呼び出されていません
コピー コンストラクターが一部のメンバーまたは基底クラスのコピー コンストラクターを呼び出さない
説明
この欠陥は、あるクラスのコピー コンストラクターが、初期化リスト内の以下の項目の "コピー コンストラクター" を呼び出さなかった場合に発生します。
そのメンバーのうち 1 つ以上。
その基底クラス (該当する場合)。
基底クラスのコピー コンストラクターの代わりに基底クラスのコンストラクターが呼び出される場合でも、この欠陥は発生します。
リスク
コピー コンストラクターの呼び出しは、初期化リストからのみ実行できます。呼び出しがない場合は、オブジェクトが部分的にしかコピーされない可能性があります。
メンバーのコピー コンストラクターが呼び出されないと、そのメンバーがコピーされない可能性があります。
基底クラスのコピー コンストラクターが呼び出されないと、基底クラスのメンバーがコピーされない可能性があります。
修正方法
コピー コンストラクターで完全なコピーが実行されるようにするには、初期化リストにあるすべてのメンバーとすべての基底クラスのコピー コンストラクターを呼び出します。
例
結果情報
| グループ: オブジェクト指向 |
| 言語: C++ |
| 既定値: 手書きコードはオン、生成コードはオフ |
コマンド ライン構文: MISSING_COPY_CTOR_CALL |
| 影響度: High |
バージョン履歴
R2015b で導入