gpt4 book ai didi

c++ - 如果没有人调用该函数,为什么我会得到 First-chance 异常?

转载 作者:行者123 更新时间:2023-11-30 04:17:44 24 4
gpt4 key购买 nike

突然我的代码开始抛出异常 VideoPlayer.exe 中 0x7731c41f 处的第一次机会异常:Microsoft C++ 异常:内存位置 0x0018f5dc 处的 GenICam::RuntimeException.. 我找不到它的确切位置throws from,所以我在 main 函数中和 main 之外的所有内容都进行了注释。我开始一个一个地取消注释代码块,而 main 中的代码仍然是commented。在这样做的时候我注意到有一个函数 A 当它被注释时没有异常,但是当它被取消注释时它会抛出上面的异常。

我不明白如果不调用它怎么会导致异常(我在其中放置了断点并且 main 中的代码被注释了)?

最佳答案

您的函数将在静态初始化期间使用。举个例子:

#include <iostream>
bool static_func()
{
std::cout << "Before main" << std::endl;
return true;
}
static const bool b = static_func();
int main()
{
std::cout << "We are main" << std::endl;
return 0;
}

因为您只会看到第一次机会异常,所以它会被捕获并处理。例如,我在抽象工厂中看到过这样的构造,工厂在其中进行 self 配置。
您的断点未命中的原因一定是其他原因。

关于c++ - 如果没有人调用该函数,为什么我会得到 First-chance 异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16883908/

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