「類別不存在預設建構子」C 錯誤
嘗試在不提供建構子參數的情況下實例化GameCryptography 類別的實例時,出現IntelliSense 錯誤訊息,指示Blowfish 類別不存在預設建構子。
出現此錯誤因為 GameCryptography 建構子嘗試在不提供建構子參數的情況下初始化 Blowfish 的嵌入實例。預設情況下,C 為類別合成一個建構函數,而沒有使用者定義的建構函數。但是,如果類別確實有使用者定義的建構函數,則不會合成預設建構函數。
要解決該錯誤,可以實作下列策略之一:
Blowfish() : _algorithm(CBC) {}
GameCryptography(unsigned char key[]) : _blowfish(CBC) {}
class Blowfish { public: Blowfish(BlowfishAlgorithm algorithm) {} Blowfish() = default; };
以上是為什麼在 C 中實例化帶有缺少預設建構子的嵌入類別的類別時會出現「類別不存在預設建構子」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!