std::error_code と GetLastError()
Win32APIのエラーコードをc++標準で返したい
よく忘れるのでメモ。
std::error_code(GetLastError(), std::generic_category(), what_msg);
エラーカテゴリに std::generic_category() を渡すのがポイント。 generic_category は第1引数で指定するエラーコードが「汎用エラー」であることを示します。 汎用エラーってなんぞや?という話なのですが、 cerrno ヘッダ(errno.h) ヘッダで定義されているエラー以外のエラー。