Addendum: Wir haben herausgefunden, dass es sich um einen Fehler im Visual Studio-Debugger handelt. /> Problem: Doppelwerte gehen durch Wert des Wertes verloren.BOOL CallVal(BOOL bRangeLowClosed,DOUBLE dDomValLow, DOUBLE dDomValHigh, BOOL bRangeHighClosed, DOUBLE dVal)
{
if (bRangeLowClosed && dVal=dDomValHigh) {
return FALSE;
}
return TRUE;
}
BOOL CallRef(BOOL bRangeLowClosed,const DOUBLE & dDomValLow, const DOUBLE & dDomValHigh, BOOL bRangeHighClosed, const DOUBLE & dVal)
{
if (bRangeLowClosed && dVal=dDomValHigh) {
return FALSE;
}
return TRUE;
}
DOUBLE dDomValLow = 1.000000000000000;
DOUBLE dDomValHigh = 40.0000000000000;
DOUBLE dVal = 41.000000000000000;
auto res1 = CallVal(true, dDomValLow, dDomValHigh, true, dVal)
// res1 = TRUE
auto res2 = CallRef(true, dDomValLow, dDomValHigh, true, dVal)
// res2 = FALSE What is right
< /code>
und für den Anruf durch Referenz hat es einfach gut funktioniert.02BC45CB movsd xmm0,mmword ptr [dVal]
02BC45D3 movsd mmword ptr [esp],xmm0
< /code>
Also trete ich durch die Zeilen und dann sehe ich diesen
den Wert von DVAL in nicht in xmm0 bewegtes Was ist los? Warum passiert das, kann mir jemand bitte erklären?>
C ++ Doppelaufruf nach Wert verliert Wert [geschlossen] ⇐ C++
-
- Similar Topics
- Replies
- Views
- Last post