Namespaces
Variants

std::bad_optional_access

ja.cppreference.net より
 
 
ユーティリティライブラリ
言語サポート
型サポート (基本型、RTTI)
ライブラリ機能テストマクロ (C++20)
プログラムユーティリティ
可変長引数関数
コルーチンサポート (C++20)
契約サポート (C++26)
三方比較
(C++20)
(C++20)(C++20)(C++20)    
(C++20)(C++20)(C++20)

汎用ユーティリティ
関係演算子 (C++20 で非推奨)
整数比較関数
(C++20)(C++20)(C++20)    
(C++20)
swap 及び 型操作
(C++14)
(C++11)
(C++11)
(C++11)
(C++17)
共通の語彙型
(C++11)
(C++17)
(C++17)
(C++17)
(C++11)
(C++17)
(C++23)



 
 
ヘッダ <optional>
class bad_optional_access;
で定義 (C++17 以降)

値を保持していない optional オブジェクトにアクセスした際に std::optional::value によって投げられるオブジェクトの型を定義します。

cpp/error/exception

継承図

メンバ関数

メンバ関数
(コンストラクタ)bad_optional_access新しい
オブジェクトを構築する
(パブリックメンバ関数)
operator=bad_optional_access
オブジェクトを置き換える
(パブリックメンバ関数)
what
説明文字列を返す

(パブリックメンバ関数)std::bad_optional_access::

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

(C++17 以降)bad_optional_access what() を通じてアクセス可能な、処理系定義のヌル終端バイト文字列を持つ新しい

オブジェクトを構築します。 1)
デフォルトコンストラクタ。2)*this コピーコンストラクタ。 other と std::bad_optional_access が両方とも動的型 std::strcmp(what(), other.what()) == 0 を持つ場合、

。

引数 other -

コピーする別の例外オブジェクト std::bad_optional_access::

bad_optional_access& operator=( const bad_optional_access& other ) noexcept;
operator=

(C++17 以降)other の内容を代入します。 *this と other が両方とも動的型 std::bad_optional_access を持つ場合、代入後は std::strcmp(what(), other.what()) == 0。

引数

other - 代入する別の例外オブジェクト

戻り値

*this

std::bad_optional_access::what

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

説明文字列を返します。

戻り値

説明情報を含む、処理系定義のヌル終端文字列へのポインタ。この文字列は std::wstring への変換及び表示に適しています。このポインタは、それが取得された例外オブジェクトが破棄されるまで、またはその例外オブジェクトに対して非 const メンバ関数 (例: コピー代入演算子) が呼び出されるまでの間、有効であることが保証されます。

返される文字列は、定数評価中は通常のリテラルエンコーディングでエンコードされます。

(C++26 以降)

注記

実装は what() をオーバーライドすることが許可されていますが、必須ではありません。

std::exception

から継承

(デストラクタ)
[virtual]
例外オブジェクトを破棄する std::exception の仮想パブリックメンバ関数
what
[virtual]
説明文字列を返す std::exception の仮想パブリックメンバ関数