ストリームにも流せたりする。成功してたら内容を、失敗してたら引数を返す。いう基底クラスを作り、そこから継承してひとつだけテンプレートパラメータを残しています。いまのところこうせざるをえない。同じもので、エラーコードをどうやって文字列化するか、というポリシーです。errno版とGetLastError版が存在しています。正常時の処理をここに。異常時の処理はここに。}を、エラー時の情報を殺すことなく行うことが出来ます。普通は失敗しない何かをする。いうのは、概念的にはその関数のシグネチャに含まれていますが、シンタックス的にはシグネチャではありません。いって、ここで『ErrorCodeを返す』ように変更してしまうと、エラーハンドリングの記述が直感的ではなくなる、という問題が発生してしまいます。}なので、『成否を表しつつ否の場合はエラーコードを持たせることができるクラス』があれば、そのへんがすっきりするんじゃないかと。