sendDirect (): указатель на целевой модуль равен nullptr ... Как исправить эту ошибку? - PullRequest
0 голосов
/ 21 декабря 2018
#include <stdio.h>
#include "event.h"
#include <omnetpp.h>

using namespace omnetpp;

event::event() {
    // TODO Auto-generated constructor stub

}

void event::refreshDisplay()
{

    // event mobility

}

void event::initialize()
{
    cModule *target;
    cModule *target1;
    //cModule *msg1;
    cMessage *msg5 = new cMessage("timer");
    //send(msg, "out");
    scheduleAt(simTime()+1, msg5);

    cMessage *msg2 = new cMessage("RTS");

         //  For Broadcasting
    int n = 15;
    for (int i = 0; i < n; i++)
    {
        msg2 = msg2->dup();
        target = getParentModule()->getSubmodule("Anchor", i);
        target1 = getParentModule()->getSubmodule("Node", i);
        sendDirect(msg2,target,"radioIn");
        sendDirect(msg2,target1,"radioIn");
    }
}


void event::handleMessage(cMessage *msg)
{
    EV << msg->isSelfMessage() << endl;
    EV << msg->getName() << endl;
    EV << msg->getKind() << endl;
    cMessage *msgl = new cMessage("timer");
    scheduleAt(simTime()+1, msgl);
    refreshDisplay();

    cModule *target;
    cModule *target1;
    cMessage *msg2 = new cMessage("RTS");

    target = getParentModule()->getSubmodule("Anchor");
    target1 = getParentModule()->getSubmodule("Node");

        sendDirect(msg2,target,"radioIn");
        sendDirect(msg2,target1,"radioIn");

        scheduleAt(simTime() + dblrand(), msg2->dup());
}

event::~event() {
    // TODO Auto-generated destructor stub
}

Я получаю эту ошибку>

Ошибка в модуле (событие).Во время инициализации сети: sendDirect (): указатель на модуль назначения равен nullptr

Как это исправить?

Сеть содержит целевые узлы, узлы привязки и событие.Событие будет перемещаться в сети и транслировать сообщения в сети.когда я пытаюсь запустить симуляцию, выдает вышеуказанную ошибку.enter image description here

Спасибо

...