OMNET++中的有关问题(C++代码)“pure virtual function call”
OMNET++中的问题(C++代码)“pure virtual function call”
omnet++的初学者,在参考自带例子tictoc出现了“pure virtual function call”错误。网上关于这个错误也看过一些解释。还是改不好。代码贴出来
tictoc1.ned文件代码
simple Txc1
{
gates:
input in;
output out;
}
network Tictoc1
{
submodules:
tic:Txc1;
toc:Txc1;
connections:
tic.out-->{delay=100ms;}-->toc.in;
tic.in<--{delay=100ms;}<--toc.out;
}
txc1.cc文件代码
#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()
{
//Let 'tic' send the first message
if(strcmp("tic",getName())==0)
{
cMessage *msg = new cMessage("tictocMsg");
send(msg, "out");
}
}
void Txc1::handleMessage(cMessage *msg)
{
send(msg, "out");
}
仿真正常允许,就是在结束(关闭的时候)的时候出现“pure virtual function call”
------解决方案--------------------
代码不完整,看不出来问题出在哪里。
一般碰到pure virtual function call这样的问题,就是在基类中定义了一个纯虚函数,而派生类中没有去实现它,那么这个派生类实际上也就成了一个抽象类,按道理说,这样的类是木有办法创建实例的,更不用说调用其中的成员函数了。
------解决方案--------------------
pure virtual function call,这玩意儿一般是函数的调用约定造成的,检查一下有没有C++那样的__stdcall之类的东西
omnet++的初学者,在参考自带例子tictoc出现了“pure virtual function call”错误。网上关于这个错误也看过一些解释。还是改不好。代码贴出来
tictoc1.ned文件代码
simple Txc1
{
gates:
input in;
output out;
}
network Tictoc1
{
submodules:
tic:Txc1;
toc:Txc1;
connections:
tic.out-->{delay=100ms;}-->toc.in;
tic.in<--{delay=100ms;}<--toc.out;
}
txc1.cc文件代码
#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()
{
//Let 'tic' send the first message
if(strcmp("tic",getName())==0)
{
cMessage *msg = new cMessage("tictocMsg");
send(msg, "out");
}
}
void Txc1::handleMessage(cMessage *msg)
{
send(msg, "out");
}
仿真正常允许,就是在结束(关闭的时候)的时候出现“pure virtual function call”
------解决方案--------------------
代码不完整,看不出来问题出在哪里。
一般碰到pure virtual function call这样的问题,就是在基类中定义了一个纯虚函数,而派生类中没有去实现它,那么这个派生类实际上也就成了一个抽象类,按道理说,这样的类是木有办法创建实例的,更不用说调用其中的成员函数了。
------解决方案--------------------
pure virtual function call,这玩意儿一般是函数的调用约定造成的,检查一下有没有C++那样的__stdcall之类的东西