我是OMNeT ++的新手,现在正在学习OMNeT ++。我想根据该教程运行tictoc仿真。首先我无法创建一个项目,它说Error:CoreException。有人告诉我更改文本文件编码到UTF-8中。然后问题得以解决。但是当我添加一个新的C++源文件时,出现了另一个问题:无法解决。
#include <string.h>
#include <omnetpp.h>
class Txc1 : public cSimpleModule
{
protected:
virtual void initialize();
virtual void handleMessage(cMessage *msg);
};
Define_Module(Txc1);
void Txc1::initialize()
{
// Am I Tic or Toc?
if (strcmp("tic", getName()) == 0)
{
cMessage *msg = new cMessage("tictocMsg");
send(msg, "out");
}
}
void Txc1::handleMessage(cMessage *msg)
{
send(msg, "out");
}
cSimpleModule,Define_Module,cMessage ...所有这些事情都无法解决。
但是令人难以置信的是,我可以构建项目。当我单击菜单Run-> Run As OMNeT ++ Simulation时,它可以正常运行。因此更改文本文件编码是否确实导致了此问题,我该如何解决?
最佳答案
您需要添加
using namespace omnetpp;
如果希望使用其中没有
cSimpleModule
前缀的类(cMessage
,omnetpp::
),则在 header 之后。创建自己的简单模块需要熟练掌握C++。当然,您可以边做边学,但是此错误并非特定于OMNeT ++,这是C++编程中的一般错误。