Heim > Artikel > Backend-Entwicklung > Warum erzeugt die Instanziierung eines Blowfish-Objekts ohne Argumente den Fehler „Kein Standardkonstruktor' und wie kann dieser behoben werden?
Fehler: „Für die Klasse „Blowfish“ existiert kein Standardkonstruktor“
Frage:
Beim Versuch, ein Objekt der Blowfish-Klasse zu instanziieren, ohne explizit ein Konstruktorargument anzugeben, gibt der Compiler die Fehlermeldung aus: „Für die Klasse „Blowfish“ existiert kein Standardkonstruktor.“ Warum passiert das und wie kann es gelöst werden?
Antwort:
Das Fehlen eines Standardkonstruktors in der Blowfish-Klasse ist beabsichtigt. Wenn eine Klasse auch nur einen einzelnen Konstruktor definiert, synthetisiert der Compiler standardmäßig keinen Standardkonstruktor mehr.
Lösungen:
Um diesen Fehler zu beheben, haben Sie die folgenden Optionen :
Blowfish() : _algorithm(CBC) {}
Blowfish blowfish(ECB);
class GameCryptography { public: GameCryptography(BlofishAlgorithm); // Generate the default constructor GameCryptography() = default; };
Zusätzliche Hinweise:
Beachten Sie, dass die Begriffe „EZB“, „CBC“, „CFB“ usw. gelten Betriebsarten für Verschlüsselungsalgorithmen und nicht für die Verschlüsselungsalgorithmen selbst. Die Verwendung dieser Begriffe als Algorithmusnamen könnte möglicherweise zu Missverständnissen und Fehlern führen.
Das obige ist der detaillierte Inhalt vonWarum erzeugt die Instanziierung eines Blowfish-Objekts ohne Argumente den Fehler „Kein Standardkonstruktor' und wie kann dieser behoben werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!