c++ - 通过指针删除分配的内存不起作用
问题描述
我正在使用包含 HTTP POST 请求的 QT 框架在 C++ 中创建一个应用程序。回复指针指向的值不会被删除并导致内存泄漏。我试图像这样删除这个内存分配:
if (reply)
{
qDebug() << "reply deleted";
delete reply;
}
reply = m_qnam->post(request, jsonString);
qDebug() << reply;
connect(reply, SIGNAL(finished()), this, SLOT(handleNetworkData()));
connect(reply, SIGNAL(sslErrors(QList<QSslError>)), this, SLOT(handleSSLErrors()));
每当我尝试这样做时,程序都会立即崩溃。在此类的标头中,回复以指针的形式启动:
QNetworkReply * reply;
有谁知道为什么我的程序通过删除指针指向的内存分配而崩溃?我的问题有什么可能的解决方案?
解决方案
也许你应该使用 reply.deleteLater()
推荐阅读
- oracle-cloud-infrastructure - 用于工单操作移动的 Oracle OIC ERP 云事件
- jquery - 拖放多个选定的卡片 || jQuery 用户界面
- javascript - 如何在几个较小的相邻 div 上拥有一张大图像
- microservices - 如何通过 OpenApi Generator 为 micronaut 生成端点?
- python - 如何使用以前可用的数据 Django 动态改变选择字段的选择
- c# - 是否可以在 MS Teams 机器人中拥有特定于国家/地区的命令列表?
- flask-restful - flask_restful 响应的默认 mimetype(内容类型)
- awk - awk - 如果满足条件,则计算平均年龄
- assembly - 非常初学者的问题 - 常数值太大
- c# - 会话变量无法将“System.Linq.OrderedEnumerable”类型的对象转换为“System.Collections.Generic.IEnumerable”类型的对象