无法将Omnetpp :: cPacket转换为Inet :: Packet

时间:2019-11-21 12:09:23

标签: c++ casting omnet++ inet

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

  

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

我的代码如下:

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

我尝试过使用check和cast。我是C ++和OMNET ++的新手

1 个答案:

答案 0 :(得分:2)

好吧,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