私の最後の2つのプロジェクトでは、「すべてのメソッド/関数はいくつかの一般的なERROR_CODE型を使用してエラーコードを返すべきです」という奇妙なガイドラインを見てきました。どちらのプロジェクトでも、ERROR_CODEはint型typedefです。奇妙なパターン:すべての関数/メソッドは、C++で同じ型を使用してエラーコードを返します
C++で行う理由はありますか?いくつかのMISRA要件またはそのようなものはありますか?
私は唯一の欠点を見ることができます:
関数は値を返す必要がある場合は、それは引数の参照によって行われます。例:
文字列s; ERROR_CODE err = getString(s);
機能の重要性は明白ではありません。すべて同じように見えます。エラーのリストには、低レベルエラーからドメイン固有のエラーまでの何百ものエラーが含まれています。
あなたはこのプログラミングスタイルを経験していますか?それに対して、またはそれに対して良い議論があるか?
(Windows)NTを見てください。すべてのシステムコールとその他の関数は、NTSTATUS値を返します。 – wj32