我正在尝试使用套接字发送数据包,但是它引发了错误。


  从“ omnetpp :: cPacket *”到“ inet :: Packet *”的无效转换[-fpermissive]


我的代码如下:

    cPacket *payload = createPacket();
    //Packet* *payload = createPacket();
    payload->setTimestamp();
    emit(sentPkSignal, payload);
    socket.sendTo(payload, destAddr, destPort);
    numSent++;


我尝试使用检查和强制转换。我是C ++和OMNET ++的新手

最佳答案

好吧,omnetpp::cPacketinet::Packet是两个完全不同的东西,您不能将它们强制转换或转换为另一个。在使用INET 4时,必须创建一个inet::Packet并将其传递给socket.sendTo()调用。

检查现有应用程序的代码以查看如何创建inet :: Packets。即https://github.com/inet-framework/inet/blob/v4.1.2/src/inet/applications/udpapp/UdpBasicApp.cc#L108

关于c++ - 无法转换Omnet++::Packet太Inet::Packet,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58974729/

10-11 21:30