Problème pointeur comprends pas...

monstrobaf Messages postés 1 Date d'inscription jeudi 27 mai 2004 Statut Membre Dernière intervention 27 mai 2004 - 27 mai 2004 à 21:53
cs_alain34270 Messages postés 85 Date d'inscription mardi 11 février 2003 Statut Membre Dernière intervention 18 septembre 2005 - 28 mai 2004 à 05:20
voila je comprends plus rien...
ca compile mais l'affichage donne n'importe quoi . comment ca se fait ?

void Pile::empile(const element elt)
{      element * temp;
       temp= new element [nbCaseOccupe_+1];
       int i=0,  indicetemp;
       short unsigned int val;

       val=elt.priorite;
       if (nbCaseOccupe_==0)
         {
         temp[0]=elt;
         cout<<temp[0].priorite;} // car element est une structure avec un nom(string) et une priorite(int)

merci de m'aider

2 réponses

cs_alain34270 Messages postés 85 Date d'inscription mardi 11 février 2003 Statut Membre Dernière intervention 18 septembre 2005
28 mai 2004 à 05:13
temp est un pointeur sur un objet element.

elt n'est pas un pointeur.

Pour que temp pointe sur elt, il faut faire :

temp = &elt

c'est à dire donner à temp la valeur de l'adresse de elt.

a+
alain
0
cs_alain34270 Messages postés 85 Date d'inscription mardi 11 février 2003 Statut Membre Dernière intervention 18 septembre 2005
28 mai 2004 à 05:20
je n'avais pas vu.

Comme temp est un pointeur, tu dois faire :

cout<< (*temp).priorite

ou, plus simplement (c'est la même chose) :

cout<< temp->priorite

a+
alain
0
Rejoignez-nous