我有病

double startPoint;
double endPoint; //I have initialised as 0 in constructor

if((startPoint <= 0) && (endPoint <= 0))
{
   startPoint = 10;
   endPoint = 100;
}


当我在调试模式下构建此代码时,此条件令人满意。但是在发布模式下,这并不令人满意。

日志显示这些startPoint和endPoint值分别为0.0000和0.0000。

最佳答案

您没有初始化变量的值,因此它们具有一个初始随机值,该值可以根据您的构建模式(调试/发行版)而变化,请尝试以下操作:

double startPoint = 0;
double endPoint = 0;
if((startPoint <= 0) && (endPoint <= 0))
{
   startPoint = 10;
   endPoint = 100;
}

关于c++ - 双值检查C++的问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33120258/

10-10 15:05