2015-10-14 40 views
0

我有一個條件,問題與雙值檢查C++

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。

+1

你賦值成這些變量在'if'之前?如果是這樣,究竟如何? – interjay

+0

你沒有初始化它們,還是隻是一個錯字? – SingerOfTheFall

+0

請發佈[MCVE](http://stackoverflow.com/help/mcve)。從您顯示的代碼中診斷是不可能的。 – interjay

回答

5

你沒有初始化的變量的值,因此它們所具有的可根據您的構建模式(調試/釋放)更改初始隨機值,試試這個:

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