我正在尝试使用套接字发送数据包,但是它引发了错误。
从“ 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::cPacket
和inet::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/