delegatin assertion

delegatin assertion

本文关键字:assertion delegatin      更新时间:2023-10-16

嗨,我想改进我的数学库

当我计算某个东西的长度时,我会进行

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行"(如果在main中的第15行调用getLength函数)。

Vector只是头,所以我认为实现这一点是可能的(这只是一种感觉)。。但是怎么做呢?

提前谢谢。我希望你能看到这样做有多有用。

这就是代码所在的位置,因此它将在哪里中断。

我认为您的意思是查看调用堆栈
在visual studio中,它位于:调试->窗口->调用堆栈

调用堆栈可以显示您是如何到达代码行的(工作流中调用了哪个函数)