だから私はこのような関数を持っています:
float function(){
float x = SomeValue;
return x / SomeOtherValue;
}
ある時点で、この関数はオーバーフローし、非常に大きな負の値を返します。これが発生している場所を正確に追跡するために、関数が次のようになるようにcoutステートメントを追加しました。
float function(){
float x = SomeValue;
cout << x;
return x / SomeOtherValue;
}
そしてそれはうまくいきました!もちろん、ダブルを使って問題を完全に解決しました。しかし、私がそれを吐いたときに、なぜ関数が正しく機能したのかについて興味があります。これは典型的なものですか、それとも私が見逃しているバグがどこかにある可能性がありますか?
(助けになる場合は、floatに格納される値は単なる整数値であり、特に大きな値ではありません。キャストを避けるために、floatに入れるだけです。)