【发布时间】:2012-12-10 12:39:48
【问题描述】:
嗨朋友们,当我在我的代码中运行我的代码“glibc 检测到 * free() 无效指针”时,我收到了这个错误我正在创建 3 个指针并使用 new 和分配内存只给一个删除所有三个指针。
class test()
{
public :
int a;
/..some functionality../
};
class second_test()
{
public :
int b;
/..some functionality../
}
class third_test()
{
public :
int c;
/..some functionality../
}
int main()
{
test *ptrtest;
second_test *psecond_test;
third_test*pthird_test;
ptrtest = new test;
/..Doing some functionality.../
delete ptrtest;
delete psecond_test;
delete pthird_test;
}
当我运行它时,它给出了上述错误,但令人惊讶的是,它在 10 次中给出了 7 次错误,它给出了上述错误..请帮助我到底是什么问题。 因为在 c++ 中我认为删除 NULL 指针是安全的。
【问题讨论】:
-
提供重现问题的可编译代码。所有删除的代码使得诊断问题几乎不可能。
标签: c++