自定义了一个类,其中有几个共有成员变量,是char*类型(指针)。构造函数中都初始化为0了。在其中一个成员函数中为这些char* 指针new了个数组。在析构函数中使用delete[]释放内存。运行结束后出错,显示“debug assertion failed”请问为什么?
3 回答
牛魔王的故事
TA贡献1830条经验 获得超3个赞
new的时候char* p = new type[0] 不要出现,也就是判断下数组是否>0
检查char* 指针用的时候是否重定向了
delete []的时候 要判断下指针是否为空
任何时候delete[] p 之后立刻把指针p = NULL;置空,这样即使你不小心重复delete[] p; 也不会有问题。
- 3 回答
- 0 关注
- 1201 浏览
添加回答
举报
0/150
提交
取消