无法将 Omnetpp::cPacket 转换为 Inet::Packet
Unable to cast Omnetpp::cPacket to Inet::Packet
我正在尝试使用套接字发送数据包,但出现错误。
invalid conversion from ‘omnetpp::cPacket*’ to ‘inet::Packet*’ [-fpermissive]
我的代码如下:
cPacket *payload = createPacket();
//Packet* *payload = createPacket();
payload->setTimestamp();
emit(sentPkSignal, payload);
socket.sendTo(payload, destAddr, destPort);
numSent++;
我试过使用 check 和 cast。我是 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
我正在尝试使用套接字发送数据包,但出现错误。
invalid conversion from ‘omnetpp::cPacket*’ to ‘inet::Packet*’ [-fpermissive]
我的代码如下:
cPacket *payload = createPacket();
//Packet* *payload = createPacket();
payload->setTimestamp();
emit(sentPkSignal, payload);
socket.sendTo(payload, destAddr, destPort);
numSent++;
我试过使用 check 和 cast。我是 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