「クラスにはデフォルトのコンストラクターが存在しません」 C のエラー
コンストラクター引数を指定せずに GameCryptography クラスのインスタンスをインスタンス化しようとしたとき、Blowfish クラスの既定のコンストラクターが存在しないことを示す IntelliSense エラー メッセージは、
このエラーは、GameCryptography コンストラクターがコンストラクター引数を指定せずに Blowfish の埋め込みインスタンスを初期化しようとするために発生します。デフォルトでは、C はユーザー定義のコンストラクターを使用せずにクラスのコンストラクターを合成します。ただし、クラスにユーザー定義のコンストラクターがある場合、デフォルトのコンストラクターは合成されません。
エラーを解決するには、次のいずれかの方法を実装できます:
Blowfish() : _algorithm(CBC) {}
GameCryptography(unsigned char key[]) : _blowfish(CBC) {}
class Blowfish { public: Blowfish(BlowfishAlgorithm algorithm) {} Blowfish() = default; };
以上がデフォルト コンストラクターのない埋め込みクラスでクラスをインスタンス化すると、C で「クラスにはデフォルト コンストラクターが存在しません」というメッセージが表示されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。