Récupération d'une variable membre à partir dun autre fichier.

sali06 Messages postés 1 Date d'inscription mercredi 22 novembre 2006 Statut Membre Dernière intervention 30 juin 2007 - 30 juin 2007 à 03:55
luhtor Messages postés 2023 Date d'inscription mardi 24 septembre 2002 Statut Membre Dernière intervention 28 juillet 2008 - 1 juil. 2007 à 22:14
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.<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>



 




 

1 réponse

luhtor Messages postés 2023 Date d'inscription mardi 24 septembre 2002 Statut Membre Dernière intervention 28 juillet 2008 6
1 juil. 2007 à 22:14
Hm. Et selon toi, thisaodv pointe sur un objet que tu as alloués ? Ou les pointeurs n'ont aucun sens pour toi ?

Une variable d'une classe n'existe pas et n'a aucun sens, tant que tu ne créés par d'objet de cette classe.
0
Rejoignez-nous