gpt4 book ai didi

c++ - 容器问题 : *** glibc detected *** free(): invalid pointer: 0x41e0ce94 ***

转载 作者:太空宇宙 更新时间:2023-11-03 10:22:13 28 4
gpt4 key购买 nike

我有一个 Linux 上的 C++ 程序在一段时间后崩溃并显示以下消息:

*** glibc detected *** free(): invalid pointer: 0x41e0ce94 ***

在程序中,我广泛使用了容器。它们必须存储一个简单类的对象。

编辑 2009-4-17:

与此同时,错误似乎与 simple 类无关。如果我更改容器以保存其他数据类型,该错误仍然会发生。问题一定出在我的代码中的其他地方,我现在正在努力解决...

最佳答案

考虑使用 std::string 来保存字符串值而不是原始字符指针。这样您就不必担心在赋值、复制和销毁方法中管理字符串数据。您的问题很可能就在那里。

编辑:您发布的较新类没有问题,如果您仅使用 char * 指向字符串常量,则第一个版本也没有问题。问题出在程序的其他地方或您使用该类的方式。您将不得不花更多时间深入调试器和/或 valgrind 以找出问题所在。我会找出指定地址指向的内容,并尝试确定它被释放两次的原因。

关于c++ - 容器问题 : *** glibc detected *** free(): invalid pointer: 0x41e0ce94 ***,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/751940/

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