std::make_error_code(std::io_errc)
From cppreference.com
| ヘッダ <ios>で定義 |
||
| std::error_code make_error_code( std::io_errc e ) noexcept; |
(C++11以降) | |
std::error_code オブジェクトを std::io_errc 型の値から構築します。あたかも return std::error_code(static_cast<int>(e), std::iostream_category()) のように動作します。
std::error_code のコンストラクタが std::io_errc 型の引数で呼び出される際に、この関数が使用されます。
目次 |
[編集] パラメータ
| e | - | エラーコード番号 |
[編集] 戻り値
タイプ std::error_code の値。これは、エラーカテゴリ "iostream" に関連付けられた e からのエラーコード番号を保持します。
[編集] 例
このコードを実行
#include <iostream> #include <system_error> int main() { std::error_code ec = std::make_error_code(std::io_errc::stream); // This works because of the overloaded method // and the is_error_code_enum specialization. ec = std::io_errc::stream; std::cout << "Error code from io_errc::stream has category " << ec.category().name() << '\n'; }
出力
Error code from io_errc::stream has category iostream
[編集] 不具合報告
以下の動作変更を伴う欠陥報告が、以前に公開されたC++標準に遡って適用されました。
| DR | 適用対象 | 公開された動作 | 正しい動作 |
|---|---|---|---|
| LWG 2087 | C++11 | make_error_code(io_errc) は noexcept として宣言されていませんでした。 |
noexcept として宣言された |
[編集] 関連項目
| (C++11) |
プラットフォーム依存のエラーコードを保持する (クラス) |
| (C++11) |
IOストリームのエラーコード (enum) |
| (C++11) |
errc enum eのエラーコード値を作成する(関数) |
| futureエラーコードを構築します (関数) |