这让我完全不知所措.在我的课堂宣言中,我有两行:
std::multimap<int, int> commands;
std::multimap<std::string, std::string> config;
Run Code Online (Sandbox Code Playgroud)
代码编译没有问题,但是当我运行它时,我收到以下错误:
*** glibc detected *** ./antares: free(): invalid pointer: 0xb5ac1b64 ***
Run Code Online (Sandbox Code Playgroud)
看起来很简单,除了它与以后如何处理这两个变量无关.我删除了其余代码中的所有引用到变量 - 仍然崩溃.我评论了其中一行 - 任何一行,程序运行没有问题.如何将错误与特定变量无关?我的工作是假设STL中没有错误,但我已经没有关于我的代码可能如何做到这一点的想法.
这个让我难过,所以我很感激你能提供的任何帮助.悦
编辑:我不是说STL有问题,那只是我有点油腻.我知道这个bug存在于我的代码中,我想知道的是 - 声明一个未引用的变量会导致它崩溃可能是错误的吗?为什么这会影响我的代码呢?
我的代码是几千行,所以不值得任何人阅读它的时间,我只是想找人指点我正确的方向.