0

こんにちは、数学ライブラリを改善したいです。

私がすることの長さを計算するとき

assert( !equal(len,0.0));
const f32 invsqrt = 1.0/sqrt(len);
X*= invsqrt;
Y*= invsqrt;
Z*= invsqrt;

このコードはいいですし、ゼロ除算を間違えるとコードが壊れます

「ランタイムは、行 .. Vector.h 行 88 でアプリケーションを中断するように要求しました」

これはいいことですが、もっとうまくやりたいです。エラーが本当にどこにあるかを示したいのです。

したがって、「vector.h」と 88 行目を表示する代わりに、「main.cpp」の「15 行目」を表示します (メインの 15 行目で getLength 関数が呼び出された場合)。

ベクターはヘッダーのみなので、それは可能だと思います(あくまで感覚です)..でもどうやって?

前もって感謝します。それがどれほど役立つかを理解していただければ幸いです。

4

1 に答える 1

1

そこがコードの場所なので、コードが壊れる場所です。

あなたの言いたいことは、コールスタックを見ることだと思います。
Visual Studio では、Debug -> Windows -> Call Stackにあります。

コール スタックは、そのコード行に到達した方法 (ワークフローでどの関数が呼び出されたか) を示すことができます。

于 2013-02-07T14:59:09.217 に答える