いさぽん.COM「つくる」に挑戦中

ゲーム系プログラマによる特に方針のないブログ。技術系とカレー、ラーメンネタ多めだったはずが、最近はダイエットネタ多め。

std::error_code と GetLastError()

Win32APIのエラーコードをc++標準で返したい

よく忘れるのでメモ。

std::error_code(GetLastError(), std::generic_category(), what_msg);

エラーカテゴリに std::generic_category() を渡すのがポイント。 generic_category は第1引数で指定するエラーコードが「汎用エラー」であることを示します。 汎用エラーってなんぞや?という話なのですが、 cerrno ヘッダ(errno.h) ヘッダで定義されているエラー以外のエラー。