我正在编写一个 C++ 类,它将一些双精度值存储在一个向量(称为 mpValues)中并计算它们的平均值。构造时,值数组为空,因此执行此计算将返回 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
}
}
这是一种明智的方法,还是您有更好的建议?通常,我不会那么挑剔,但这是对工作机会的考验,所以我想避免做出错误的决定。
提前致谢!