C++ 无法将Omnetpp::cPacket强制转换为Inet::Packet
我正在尝试使用套接字发送数据包,但它抛出了一个错误 从“omnetpp::cPacket*”到“inet::Packet*”的转换无效[-fpermissive] 我的代码如下:C++ 无法将Omnetpp::cPacket强制转换为Inet::Packet,c++,casting,omnet++,inet,C++,Casting,Omnet++,Inet,我正在尝试使用套接字发送数据包,但它抛出了一个错误 从“omnetpp::cPacket*”到“inet::Packet*”的转换无效[-fpermissive] 我的代码如下: cPacket *payload = createPacket(); //Packet* *payload = createPacket(); payload->setTimestamp(); emit(sentPkSignal, payload); socket.send
cPacket *payload = createPacket();
//Packet* *payload = createPacket();
payload->setTimestamp();
emit(sentPkSignal, payload);
socket.sendTo(payload, destAddr, destPort);
numSent++;
我试过使用检查和强制转换。对C++和OMNET++< /P> < P>,<代码> OMNETP::Cbase/Cuff>和
INET::Packet
,并将其传递给socket.sendTo()
调用
检查现有应用程序的代码,了解如何创建inet::Packets。i、 e.好吧,
omnetpp::cPacket
和inet::Packet
是两个完全不同的东西,你不能将一个转换成另一个。在使用INET 4时,必须创建一个INET::Packet
,并将其传递给socket.sendTo()
调用
检查现有应用程序的代码,了解如何创建inet::Packets。i、 e.非常感谢您。我刚刚创建了一个inet::Packet,而不是omnetpp::cPacket。参考UDPBASICAP<代码>标准::ostringstream str;数据包*有效载荷=新数据包(str.str().c_str());有效载荷->设置时间戳();L3Address destAddr=chooseDestAddr();发射(信号包、有效载荷);socket.sendTo(有效负载、destAddr、destPort);numSent++非常感谢您。我刚刚创建了一个inet::Packet,而不是omnetpp::cPacket。参考UDPBASICAP<代码>标准::ostringstream str;数据包*有效载荷=新数据包(str.str().c_str());有效载荷->设置时间戳();L3Address destAddr=chooseDestAddr();发射(信号包、有效载荷);socket.sendTo(有效负载、destAddr、destPort);numSent++