C++ omnet++;创建对象时崩溃
我有这段代码C++ omnet++;创建对象时崩溃,c++,omnet++,C++,Omnet++,我有这段代码 tempIPARPReply = new IPv4ARP("IPv4ARPReply"); tempIPARPReply->setSourceIP(tempIPARP->getDestinationIP()); tempIPARPReply->setDestinationIP(tempIPARP->getSourceIP()); 我的头文件中有这个 IPv4ARP *tempIPARP; 这里IPv4ARP是
tempIPARPReply = new IPv4ARP("IPv4ARPReply");
tempIPARPReply->setSourceIP(tempIPARP->getDestinationIP());
tempIPARPReply->setDestinationIP(tempIPARP->getSourceIP());
我的头文件中有这个
IPv4ARP *tempIPARP;
这里IPv4ARP
是我自己在omnet中创建的消息
它工作得非常好
但是,当我在运行时将inet和Core4Inet项目引用到此工作项目之后,omnet++仿真内核就会崩溃并以仿真错误结束。(我已经发现,模拟崩溃的发生仅仅是因为上面代码中显示的这个对象创建行)
请告诉我这里出了什么问题,以及引用的项目是如何影响这3行代码的
已更新:
msg文件:
packet IPv4ARP {
string SourceIP;
string DestinationIP;
}
能否显示
IPv4ARP
(msg文件)的定义?IPv4ARP
msg文件已更新。请查收。谢谢,还有一件事。这个代码工作得很好。但是后来我的项目引用了inet
和core4inet
项目,因为我创建了依赖于此项目的新文件。之后,我的代码在这个对象创建行崩溃。还请注意,core4inet
基于inet
。如果我删除这两行“tempipareply->setSourceIP(tempIPARP->getDestinationIP());tempipareply->setDestinationIP(tempIPARP->getSourceIP());”并尝试构建,那么inet
projectsmakefile
会显示一个红色的叉号,我无法继续运行。您的代码中是否使用inet
命名空间?如果是,请尝试添加名称空间inet代码>在msg
文件中(就在数据包IPv4ARP{…
之前)。