未分配正在释放的C++指针.没有免费电话

C++ Pointer being freed was not allocated. Not calling free

本文关键字:指针 免费电话 C++ 分配 释放      更新时间:2023-10-16

我正在编写一个处理视频输入的程序,运行一段时间后,它有时会退出,并显示"释放的指针未分配"。然而,在我的程序中,我从来没有称之为free或malloc。我正在传递我在向量中定义的类的对象,程序使用pthreads将输入与处理分离。除了在同一指针上调用free两次而不在两者之间重新分配之外,还有什么可能导致这个问题?

不幸的是,由于错误发生需要很长时间,而且由于多线程,我不知道这个错误发生在哪里,所以我不能包含我的代码示例。

您可能需要研究使用C++11中提供的安全指针。它们做了很多好事,但对你来说,最好的用途是为你处理内存分配。

这是您需要使用的库。

从您分享的一些信息来看,我相信共享指针就是您想要的(但也要看看其他类,在应用程序的某些部分可能需要弱共享指针和唯一指针)。

如果你还有其他问题,请问一个具体的问题。