Problème pointeur comprends pas...

Signaler
Messages postés
1
Date d'inscription
jeudi 27 mai 2004
Statut
Membre
Dernière intervention
27 mai 2004
-
Messages postés
85
Date d'inscription
mardi 11 février 2003
Statut
Membre
Dernière intervention
18 septembre 2005
-
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

Messages postés
85
Date d'inscription
mardi 11 février 2003
Statut
Membre
Dernière intervention
18 septembre 2005

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
Messages postés
85
Date d'inscription
mardi 11 février 2003
Statut
Membre
Dernière intervention
18 septembre 2005

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