gpt4 book ai didi

c++ - 委托(delegate)断言

转载 作者:行者123 更新时间:2023-11-28 07:46:52 24 4
gpt4 key购买 nike

嗨,我想改进我的数学库,

当我计算我做的事情的长度时

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 中,它位于:Debug -> Windows -> Call Stack

调用堆栈可以告诉你你是如何到达那行代码的(在工作流程中调用了哪个函数)

关于c++ - 委托(delegate)断言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14754084/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com