【发布时间】:2020-11-13 16:16:00
【问题描述】:
这是错误:
错误:从不兼容的类型“omnetpp::cMessage”分配给“omnetpp::cMessage *”`
这是我的代码:
#include "computer.h"
Define_Module(Computer);
void Computer::initialize() {
counter = 0;
limit = 10;
if (strcmp ("c1", getName())==0) {
simtime_t F_delay = par ("F_delay");
EV<<"Start Sending== \n";
*msg = *createMessage();
scheduleAt(simTime()+ F_delay, *msg);
}
}
Computer::Computer() {
my_msg = nullptr;
}
Computer::~Computer() {
cancelAndDelete(my_msg);
}
void Computer::handleMessage(cMessage *msg) {
if(msg->isSelfMessage()) {
send (msg,"out");
}
else {
counter ++;
if (counter == limit) {
EV<<"Limit is expired \n";
delete msg;
}
else {
EV << " my name "<< getName()<< " \n";
EV << "counter = "<< counter << " \n";
simtime_t delay = par("delay");
scheduleAt(simTime()+delay,msg);
EV << "sending again "<<" \n";
}
}
}
cMessage Computer::createMessage() {
cMessage *msg = new cMessage ("HELLO");
return *msg;
}
void Computer::sendCopyOf(cMessage *msg) {
cMessage *copy= (cMessage *)msg->dup();
send (copy ,"out");
}
【问题讨论】: