私はすべての変数が計算結果:-1のVisual C++ Expressの#のIND000000000000 2010
DOUBLE、として宣言されている私の次のコードdQ_rad = 0.7 * 5.67e-8 * rotor.dRotorOuterArea[iAxle] * (dT1*dT1*dT1*dT1 - dT2*dT2*dT2*dT2);
で使用される式で間違った結果を得ました
rotor.dRotorOuterArea[iAxle] = 0.052986887100527499
dT1 = 0;
dT2 = 293.0;
dQ_radは-1を返します。#IND000000000000、これは私が実際に理解していないものです。私は「クイックウォッチ」に同じ式を使用し、次のように続いて、正しい結果を見ることができる(!?)
0.7 * 5.67e-8 * rotor.dRotorOuterArea[iAxle] * (dT1*dT1*dT1*dT1 - dT2*dT2*dT2*dT2) -15.499582013297069 double
私はこの種のエラーを回避することができますどのように誰もこのエラーが起こったのかを知っているとしていますか?
私はVC Express 2010を使用しており、コードはデフォルトのMS Cコンパイラを使用してコンパイルされています。
感謝
デバッグとリリースのビルドで同じ結果が得られますか? –
#INDは愚かなCRTデバッグであり、#INFを読み込む必要があります。あなたはゼロで割ることで無限を得るでしょう。私たちが自分で試すことができるコードスニペットを投稿してください。 –
「リリース」の設定を使用すると違いがありますか?なぜなら、私はいつも "デバッグ"モードを使用しているからです。 – OISS