在 Qt 项目中,我有一个方法
void ProtocolHandler::interpretData(uint8_t packet_id){
PacketClass *packet = new RSP2StatusPacket(_packet_buf);
emit packetReceived(packet);
}
我在其中声明一个 PacketClass 类型的对象包,然后发出信号
packetReceived (PacketClass*)
在另一堂课中,我有以下插槽:
void ReceiverCommands::processReceivedPacket(PacketClass* pkt)
{
status_packet *payload = pkt->getPayload();
delete pkt
}
在 slot 方法中删除较新的 PacketClass *packet 是否正确?有时我的程序崩溃了,那么删除在信号/插槽中传递的指针的最佳方法是什么(我想我必须删除 pkt,因为我在“interpretData”方法中实例化了一个新数据包)。