Namespaces
Variants

std::bad_optional_access

De es.cppreference.net
 
 
Biblioteca de utilidades
Soporte del lenguaje
Soporte de tipos (tipos básicos, RTTI)
Macros de prueba de características de la biblioteca (C++20)
Utilidades de programa
Funciones variádicas
Soporte de corrutinas (C++20)
Soporte de contratos (C++26)
Comparación de tres vías
(C++20)
(C++20)(C++20)(C++20)    
(C++20)(C++20)(C++20)

Utilidades generales
Operadores relacionales (obsoleto en C++20)
 
 
Definido en el encabezado <optional>
class bad_optional_access;
(desde C++17)

Define un tipo de objeto que debe lanzar std::optional::value al acceder a un objeto optional que no contiene un valor.

cpp/error/exception

Diagrama de herencia

Funciones miembro

(constructor)
construye un nuevo bad_optional_access objeto
(función miembro pública)
operator=
reemplaza el bad_optional_access objeto
(función miembro pública)
what
devuelve la cadena explicativa
(función miembro pública)

std::bad_optional_access::bad_optional_access

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

Construye un nuevo bad_optional_access objeto con una cadena de bytes terminada en nulo definida por la implementación que es accesible mediante what().

1) Constructor por defecto.
2) Constructor de copia. Si *this y other ambos tienen tipo dinámico std::bad_optional_access entonces std::strcmp(what(), other.what()) == 0.

Parámetros

other - otro objeto de excepción a copiar

std::bad_optional_access::operator=

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

Asigna el contenido con el de other.Si *this y other ambos tienen tipo dinámico std::bad_optional_access entonces std::strcmp(what(), other.what()) == 0 después de la asignación.

Parámetros

other - otro objeto de excepción con el que asignar

Valor de retorno

*this

std::bad_optional_access::what

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

Devuelve la cadena explicativa.

Valor de retorno

Puntero a una cadena terminada en nulo definida por la implementación con información explicativa. La cadena es adecuada para su conversión y visualización como un std::wstring. Se garantiza que el puntero es válido al menos hasta que se destruye el objeto de excepción del cual se obtiene, o hasta que se llama a una función miembro no constante (por ejemplo, el operador de asignación por copia) en el objeto de excepción.

La cadena devuelta se codifica con la codificación literal ordinaria durante la evaluación constante.

(desde C++26)

Notas

Se permite pero no se requiere que las implementaciones reemplacen what().

Heredado de std::exception

Funciones miembro

[virtual]
destruye el objeto de excepción
(función miembro pública virtual de std::exception)
[virtual]
devuelve una cadena explicativa
(función miembro pública virtual de std::exception)