Namespaces
Variants

std::bad_optional_access

Von de.cppreference.net
 
 
Dienstprogrammbibliothek
Sprachunterstützung
Typunterstützung (Basistypen, RTTI)
Bibliotheks-Feature-Test-Makros (C++20)
Programm-Dienstprogramme
Variadische Funktionen
Koroutinen-Unterstützung (C++20)
Vertragsunterstützung (C++26)
Drei-Wege-Vergleich
(C++20)
(C++20)(C++20)(C++20)    
(C++20)(C++20)(C++20)

Allgemeine Dienstprogramme
Relationale Operatoren (veraltet in C++20)
Ganzzahl-Vergleichsfunktionen
(C++20)(C++20)(C++20)    
(C++20)
Swap und Typoperationen
(C++14)
(C++11)
(C++11)
(C++11)
(C++17)
Allgemeine Vokabular-Typen
(C++11)
(C++17)
(C++17)
(C++17)
(C++11)
(C++17)
(C++23)



 
 
Definiert in Header <optional>
class bad_optional_access;
(seit C++17)

Definiert einen Objekttyp, der von std::optional::value ausgelöst wird, wenn auf ein optional-Objekt zugegriffen wird, das keinen Wert enthält.

cpp/error/exception

Vererbungsdiagramm

Mitgliedsfunktionen

(Konstruktor)
erstellt ein neues bad_optional_access-Objekt
(öffentliche Mitgliedsfunktion)
operator=
ersetzt das bad_optional_access-Objekt
(öffentliche Mitgliedsfunktion)
what
gibt die erklärende Zeichenkette zurück
(öffentliche Mitgliedsfunktion)

std::bad_optional_access::bad_optional_access

bad_optional_access() noexcept;
(1) (seit C++17)
bad_optional_access( const bad_optional_access& other ) noexcept;
(2) (seit C++17)

Erstellt ein neues bad_optional_access-Objekt mit einer implementierungsdefinierten, nullterminierten Bytezeichenkette, die über what() zugänglich ist.

1) Standardkonstruktor.
2) Kopierkonstruktor. Wenn *this und other beide den dynamischen Typ std::bad_optional_access haben, dann std::strcmp(what(), other.what()) == 0.

Parameter

other - ein weiteres Ausnahmeobjekt zum Kopieren

std::bad_optional_access::operator=

bad_optional_access& operator=( const bad_optional_access& other ) noexcept;
(seit C++17)

Weist die Inhalte von other zu. Wenn *this und other beide den dynamischen Typ std::bad_optional_access haben, dann std::strcmp(what(), other.what()) == 0 nach der Zuweisung.

Parameter

other - ein weiteres Ausnahmeobjekt, mit dem zugewiesen werden soll

Rückgabewert

*this

std::bad_optional_access::what

virtual const char* what() const noexcept;
(seit C++17)

Gibt die erklärende Zeichenkette zurück.

Rückgabewert

Zeiger auf eine implementierungsdefinierte, nullterminierte Zeichenkette mit erklärenden Informationen. Die Zeichenkette eignet sich zur Konvertierung und Anzeige als std::wstring. Der Zeiger ist garantiert gültig, bis das Ausnahmeobjekt, von dem er bezogen wurde, zerstört wird oder bis eine nicht-konstante Mitgliedsfunktion (z. B. Kopierzuweisungsoperator) für das Ausnahmeobjekt aufgerufen wird.

Die zurückgegebene Zeichenkette wird während der konstanten Auswertung mit der gewöhnlichen Literalkodierung kodiert.

(seit C++26)

Hinweise

Implementierungen dürfen, müssen aber nicht, what() überschreiben.

Geerbt von std::exception

Mitgliedsfunktionen

[virtual]
zerstört das Ausnahmeobjekt
(virtuelle öffentliche Mitgliedsfunktion von std::exception)
[virtual]
gibt eine erklärende Zeichenkette zurück
(virtuelle öffentliche Mitgliedsfunktion von std::exception)