c++函数指针声明导致程序在退出时崩溃

标签 c++ function function-pointers

我在我的类中声明了以下两个函数指针:

void (*ptrFunc)(void *);
bool (*ptrValid)(char *);

现在由于某种原因,第二个指针 (ptrValid) 导致程序在退出时崩溃。当我注释掉声明时,程序正常退出,但当我取消注释时,它崩溃了。

没有任何东西被分配给它,它没有被调用,只是被声明。

我是不是漏掉了什么?

最佳答案

您所描述的内容没有意义,单独的声明会导致您的程序崩溃。但是如果向某个类添加变量导致程序的内存使用以导致崩溃的方式不同,如果在其他一些可能不相关的点您正在访问无效的内存地址或导致内存超限等。也许这只是揭露了您一直以来的问题。

尝试使用类似 Valgrind 的内存配置文件或 DUMA弄清楚你的内存发生了什么。

关于c++函数指针声明导致程序在退出时崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3173141/

相关文章:

c# - 从 C# 调用 C++ DLL

c++ - 为什么是 "Only constants can be used to declare the size of automatic and static arrays"?

c++ - 如何在一个 SQL 查询中更新和选择

PHP 函数运行时间?

c++ - 指向函数的模板指针的部分模板特化

c++ - 在 Vista 上保持 cmd.exe 打开

python - 在 Python 中的文件末尾声明函数

c - 有没有办法在C中获取函数的参数名称

c - 我不知道错误是什么

c++ - 为什么需要使用 "WINAPI*"作为语法来为 DLL 中的函数声明函数指针