Salut,
J'ai fait un programme visant a créer des lacets pour une recherche mathématique. le lacet est cree a partir de ligne chainee, j'ai un probleme d'allocation car dans l'un de mes constructeur Ligne(Lacet*,Ligne* pP,Ligne* pS,int). Il me donne une adresse de memoir deja allouer par cette meme fonction cette addresse est en locurence l'element precedent de la nouvelle ligne. En gros c'est ca :
Ligne* tmp;
tmp = new Ligne(&Lacet,NULL,NULL,1); // cree le premier element donne une adresse 0x35750
tmp = new Ligne(&Lacet,tmp ,NULL,1);// deusieme element, me donne une adresse 0x35750
ca fait le deusieme fois que je rencontre ce probleme.
je n'utilise pas de librairy de debugage particulaire car la derniere que j'ai utilisier generai des erreurs
+++++++++++++++++++++++++++++++++
Ligne(&pLacet,NULL,NULL,xT);
Ligne::Ligne(0x351f8, 0, 0, -2)
donne : 0x35750
Ligne::Ligne(0x351f8, 0x35750, 0, 2)
donne : 0x34ea8
Ligne::Ligne(0x351f8, 0x34ea8 ,0, -3)
donne : 0x34ea8
Ligne::Ligne(0x351f8, 0x34ea8, 0, -5)
donne : 0x35750
++++++++++++++++++++++++++++++++
je ne sais pas si ca vien de passage d'argument par valeu plustot que par reference ou qq chose d'autre.
Merci,
Partager