Probleme utilisation pointeur et reference - C++ - Programmation
Marsh Posté le 13-07-2007 à 16:54:28
Salut,
packet_array ne renverrait pas tout bêtement un pointeur? Si non, comment est-il construit?
Marsh Posté le 13-07-2007 à 21:26:12
IrmatDen a écrit : Salut, |
Merci de ta reponse.
packet_array est declare comme suit:
Code :
|
ca devrait donc renvoyer un packet_pv et non un pointeur...
Je ne comprends pas pourquoi dans ma surcharge de l'operator == rhs.header, rhs.payload, ... sont nuls
Marsh Posté le 14-07-2007 à 00:41:19
ReplyMarsh Posté le 14-07-2007 à 09:54:22
Dans une autre fonction,
packet_array est construit comme ca:
Code :
|
packet_ptr est un pointeur sur packet_pv.
Marsh Posté le 14-07-2007 à 13:47:20
Est-ce que tu as debuggé cette fontion précise? Je ne crois pas qu'il y ait d'erreur dans ce que tu montre, donc c'est probablement la construction du tableau qui ne passe pas pour une raison xyz...
Marsh Posté le 16-07-2007 à 09:58:19
Si je compare directement quelques elements sans passer par l'operateur surcharge ==, les resultats sont corrects:
Ex:
Code :
|
J'obtiens Ok dans ce cas.
mais en passant par l'operateur == comme ceci:
Code :
|
a l'interieur de la fonction ==, rhs.payload, rhs.header sont nuls.
Peut etre est-ce un probleme avec cette fonction...
Si qqn a des idees ca m'aiderait bcp
Marsh Posté le 16-07-2007 à 13:49:32
Il faudrait que tu essaies de produire un exemple minimal, auquel cas, 2 possibilités:
> tu trouves l'erreur en réduisant
> tu nous permet d'avoir une base testable
Ce code marche bien chez moi:
Code :
|
Edit: les types ne sont donc probablement pas respecté BTW, c'est un peu au hasard
Marsh Posté le 17-07-2007 à 09:15:46
Je viens de trouver l'erreur, ca provenait du remplissage du tableau qui etait pas correct a chaque iteration.
l'operator == n'etait donc pas en cause.
Merci pour votre aide
Marsh Posté le 13-07-2007 à 16:49:59
Salut,
J'ai un souci pour pouvoir utiliser un pointeur sur une classe(class packet_pv) avec l'operateur surcharge de cette classe.
Dans ma classe packet_pv l'operateur == est surcharge:
Dans mon code je recupere un pointeur sur un type packet_pv:
ensuite je souhaite tester le packet_pv recu avec le contenu d'un tableau de packet_pv:
Dans ce cas la comparaison renvoie false alors que les deux instances sont identiques.
Les variables rhs.header, rhs.payload, etc.., sont nulles alors que les variables header, payload, etc... sont OK
Vous avez des idees la dessus?
Merci