Namespaces
Variants

std:: bad_expected_access

From cppreference.net
Utilities library
Défini dans l'en-tête <expected>
template < class E >
class bad_expected_access : public std :: bad_expected_access < void >
(1) (depuis C++23)
template <>
class bad_expected_access < void > : public std:: exception
(2) (depuis C++23)
1) Définit un type d'objet à lever par std::expected::value lors de l'accès à un objet expected qui contient une valeur inattendue. bad_expected_access<E> stocke une copie de la valeur inattendue.
2) bad_expected_access < void > est la classe de base de toutes les autres spécialisations de bad_expected_access .
Toutes les fonctions membres de std::bad_expected_access sont constexpr : il est possible de créer et d'utiliser des objets std::bad_expected_access dans l'évaluation d'une expression constante.

Cependant, les objets std::bad_expected_access ne peuvent généralement pas être constexpr , car toute mémoire allouée dynamiquement doit être libérée dans la même évaluation d'expression constante.

(depuis C++26)

Table des matières

Membres du modèle principal

(constructeur)
construit un objet bad_expected_access
(fonction membre publique)
error
retourne la valeur stockée
(fonction membre publique)
what
retourne la chaîne explicative
(fonction membre publique)

std::bad_expected_access:: bad_expected_access

explicit bad_expected_access ( E e ) ;
(depuis C++23)
(constexpr depuis C++26)

Construit un nouvel objet bad_expected_access<E> . Initialise la valeur stockée avec std::move(e) .

std::bad_expected_access:: error

const E & error ( ) const & noexcept ;
(1) (depuis C++23)
(constexpr depuis C++26)
E & error ( ) & noexcept ;
(2) (depuis C++23)
(constexpr depuis C++26)
const E && error ( ) const && noexcept ;
(3) (depuis C++23)
(constexpr depuis C++26)
E && error ( ) && noexcept ;
(4) (depuis C++23)
(constexpr depuis C++26)

Retourne une référence à la valeur stockée.

std::bad_expected_access:: what

const char * what ( ) const noexcept override ;
(depuis C++23)
(constexpr depuis C++26)

Retourne la chaîne explicative.

Valeur de retour

Pointeur vers une chaîne terminée par un caractère nul contenant des informations explicatives. La chaîne est adaptée à la conversion et à l'affichage en tant que std::wstring . Le pointeur est garanti d'être valide au moins jusqu'à ce que l'objet exception duquel il est obtenu soit détruit, ou jusqu'à ce qu'une fonction membre non constante (par exemple, l'opérateur d'affectation de copie) sur l'objet exception soit appelée.

La chaîne retournée est encodée avec l'encodage littéral ordinaire pendant l'évaluation constante.

(depuis C++26)

Notes

Les implémentations sont autorisées mais non obligées de redéfinir what() .

Hérité de std:: bad_expected_access < void >

Membres de la spécialisation bad_expected_access < void >

(constructeur)
construit un objet bad_expected_access < void >
(fonction membre protégée)
(destructeur)
détruit l'objet bad_expected_access < void >
(fonction membre protégée)
operator=
remplace l'objet bad_expected_access < void >
(fonction membre protégée)
what
retourne la chaîne explicative
(fonction membre publique)

Les fonctions membres spéciales de bad_expected_access < void > sont protégées. Elles ne peuvent être appelées que par des classes dérivées.

Hérité de std:: exception

Fonctions membres

[virtuel]
détruit l'objet exception
(fonction membre publique virtuelle de std::exception )
[virtuel]
retourne une chaîne explicative
(fonction membre publique virtuelle de std::exception )

Notes

Macro de test de fonctionnalité Valeur Std Fonctionnalité
__cpp_lib_constexpr_exceptions 202502L (C++26) constexpr std::bad_expected_access

Exemple

Voir aussi

exception indiquant un accès vérifié à un optional ne contenant pas de valeur
(classe)
exception levée lors d'accès invalides à la valeur d'un variant
(classe)