いくつかのdouble値をベクトル(mpValuesと呼ばれる)に格納し、それらの平均を計算するC++クラスを作成しています。構築されると、値の配列は空になるため、この計算を実行すると0.0/0.0が返されます。
ゼロ値の平均を求めるのはエラーだと判断しました。したがって、NaNを返してエラーメッセージを表示し、ユーザーにその問題を認識させるのが最善です。コードは次のようになります。
double Average::CalculateAverage() const
{
if(mpValues->size() == 0){
std::cerr << "Instance of Average at: " << this << " contains no values.\n"
<< "In this case the arithmetic mean is defined as NaN." <<std::endl;
return 0.0/0.0;
}
else{
...calculate the arithmetic mean
}
}
これは賢明なアプローチですか、それとももっと良い提案がありますか?普段はそんなにうるさくはありませんが、これは求人のテストなので、悪い決断は避けたいと思います。
前もって感謝します!