Bonjour.
Tous d'abord je suis entrain d'améliorer le protocole de routage AODV pour les réseaux mobiles Ad Hoc. Je travail sur LINUX, j'utilise le simulateur NS-2 et je programme avec le langage C++.
S'il vous plait, est ce que vous pouvez m'aider à résoudre le problème suivant:
J'ai déclaré une variable membre ("energy") de la classe AODV dans le fichier aodv.h (je l'ai utilisé bien sûr dans le fichier aodv.cc), le tous se trouve dans un dossier nommé "aodv".
Je veut récupérer cette variable " energy" pour l'utiliser dans une fonction membre ("recvDATA") d'une autre classe MAC802_11 se trouvant dans un fichier mac_802-11.cc, le tous est dans un autre dossier nommé "mac".
J'ai essayé cette solution mais ça n'a pas marché car j'ai eu un bug de type "Segmentation fault":
au niveau du fichier mac_802-11.h j'ai rajouté:
#include "aodv/aodv.h"
............
class Mac802_11 : public Mac {
...........
friend class aodv;
public:
................
AODV *thisaodv;
...............
}
au niveau du fichier mac_802-11.cc j'ai rajouté:
void Mac802_11::recvDATA(Packet *p)
{
.............
thisaodv->energy=thisaodv->energy-1;
..............
}
Où est le problème s'il vous plait. Si c'est possible, proposez-moi d'autres solutions.
Merci d'avance.