C++0x には、 と の 2 つの定義済みerror_categoryオブジェクトがgeneric_category()ありsystem_category()ます。私がこれまでに理解したことから、system_category()はオペレーティング システムから返されたエラーに使用する必要があり、値に対応する にgeneric_category()ある一般的な値に使用する必要があります。std::errcerrno
errnoしかし、値がオペレーティング システムによって返されるエラーである Unix ライクなシステムでは、どうすればよいでしょうか? を使用する必要system_category()がありますか (非 Unix ライクなシステムでは間違っており、 が必要です#ifdef)、または使用する必要がありますgeneric_category()(非標準errno値の Unix ライクなシステムでは間違っています)。