2

私の関数は、オブジェクトから float 値を返します。関数が適切な float 値を見つけられない場合は、コードで適切に処理できるようにエラーを返す必要があります。

私の質問は、エラーを返す方法です。

余分なパラメーターを追加し、それを使用してエラー マーカーを設定するオプションは推奨されません。

魔法の値を返すことができますが、それは有効なオプションですか? プログラムの float 値が非常に大きな数値を超えることはありません (10^12 を超えることはありません) ので、エラーをチェックするために FLT_MAX を返すことはオプションかもしれません。

より良い(ポータブルな)方法はありますか?

4

7 に答える 7

1

呼び出しの前に設定し、関数から戻った後にそれを確認するように設定errnoERANGE、呼び出し元に負担をかけることができます。errno = 0;これは、いくつかの標準ライブラリ関数が行うことと似ています。

于 2013-05-31T13:12:58.583 に答える
0

対処する方法がもう 1 つあります。適切な値があることを確認する別の関数を作成し、チェックに合格した場合にのみ float を呼び出すことができます。

于 2013-05-31T13:08:46.477 に答える