錯誤:“類“Blowfish”不存在默認構造函數”
問題:
當嘗試實例化Blowfish當類別的物件而不明確指定建構函式參數時,編譯器會發出錯誤訊息,「類別「Blowfish」不存在預設建構函式。」為什麼會發生這種情況,如何解決?
答案:
Blowfish 類別中沒有預設建構子是設計使然。當類別定義了單一建構函式時,編譯器預設不再合成預設建構函式。
解決方案:
要解決此錯誤,您有以下選項:
Blowfish() : _algorithm(CBC) {}
Blowfish blowfish(ECB);
class GameCryptography { public: GameCryptography(BlofishAlgorithm); // Generate the default constructor GameCryptography() = default; };
附加說明:
請注意,術語「ECB」、「CBC」、「CFB」等是加密演算法的操作模式而不是加密演算法本身。使用這些術語作為演算法名稱可能會導致誤解和錯誤。
以上是為什麼實例化不帶參數的 Blowfish 物件會產生「無預設建構函式」錯誤,以及如何修復此問題?的詳細內容。更多資訊請關注PHP中文網其他相關文章!