Ralat: "tiada pembina lalai wujud untuk kelas "Blowfish""
Soalan:
Apabila cuba membuat instantiate objek kelas Blowfish tanpa menyatakan secara jelas hujah pembina, pengkompil mengeluarkan mesej ralat, "tiada pembina lalai wujud untuk kelas "Blowfish"." Mengapa ini berlaku, dan bagaimanakah ia boleh diselesaikan?
Jawapan:
Ketiadaan pembina lalai dalam kelas Blowfish adalah mengikut reka bentuk. Apabila kelas mentakrifkan walaupun satu pembina, pengkompil tidak lagi mensintesis pembina lalai secara lalai.
Penyelesaian:
Untuk menyelesaikan ralat ini, anda mempunyai pilihan berikut :
Blowfish() : _algorithm(CBC) {}
Blowfish blowfish(ECB);
class GameCryptography { public: GameCryptography(BlofishAlgorithm); // Generate the default constructor GameCryptography() = default; };
Nota Tambahan:
Perhatikan bahawa istilah "ECB," "CBC," "CFB," dsb., adalah mod operasi untuk algoritma penyulitan dan bukannya algoritma penyulitan itu sendiri. Menggunakan istilah ini sebagai nama algoritma berpotensi membawa kepada salah faham dan ralat.
Atas ialah kandungan terperinci Mengapa Menghidupkan Objek Blowfish Tanpa Argumen Menghasilkan Ralat \'tiada pembina lalai\' dan Bagaimana Ini Boleh Dibetulkan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!