Petit probleme: PILE et Pointeur C++
TB
-
Mahmah Messages postés 496 Date d'inscription Statut Membre Dernière intervention -
Mahmah Messages postés 496 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai déclaré une pile d'objet CLIENT : stack<Client> p;
D'autre part, j'ai un tableau de pointeur vers des clients: CLIENT** table;
Comment je pointe une case du tableau sur la tete de la pile ???
J'ai essayé table[0] = p;
Il me lance une erreur d'incompatibilité;
cannot convert `std::stack<Client, std::deque<Client, std::allocator<Client> > >' to `Client*' in assignment
Merci d'avance
J'ai déclaré une pile d'objet CLIENT : stack<Client> p;
D'autre part, j'ai un tableau de pointeur vers des clients: CLIENT** table;
Comment je pointe une case du tableau sur la tete de la pile ???
J'ai essayé table[0] = p;
Il me lance une erreur d'incompatibilité;
cannot convert `std::stack<Client, std::deque<Client, std::allocator<Client> > >' to `Client*' in assignment
Merci d'avance
A voir également:
- Petit probleme: PILE et Pointeur C++
- Trier du plus petit au plus grand excel - Guide
- Petit 3 ✓ - Forum Word
- Petit 2 ✓ - Forum Windows
- Petit 9 - Forum Mail
- Comment imprimer une photo en petit ✓ - Forum Photo numérique
5 réponses
Bonjour,
C'est possible de voir le sommet de la pile via la méthode top mais pas le reste des éléments.
Si seule la tête de pile t'intéresse :
Dans le cas contraire je considérerais l'utilisation d'un vecteur (vector) plutôt. On peut en tirer un fonctionnement similaire grace à push_back et pop_back, mais également un accès (mémoire indirect, c'est un tableau dynamique) à chaque élément via la méthode "at" ou l'opérateur "[indice de l'élément]"
Le tableau de pointeurs peut aussi être un vecteur si sa taille peut varier au cours du temps.
M.
C'est possible de voir le sommet de la pile via la méthode top mais pas le reste des éléments.
Si seule la tête de pile t'intéresse :
table[0] = &p.top();
Dans le cas contraire je considérerais l'utilisation d'un vecteur (vector) plutôt. On peut en tirer un fonctionnement similaire grace à push_back et pop_back, mais également un accès (mémoire indirect, c'est un tableau dynamique) à chaque élément via la méthode "at" ou l'opérateur "[indice de l'élément]"
Le tableau de pointeurs peut aussi être un vecteur si sa taille peut varier au cours du temps.
M.
Merci pour les informations, je vais essayer d'utiliser : table[0] = &p.top();
Est ce possible de supprimer un élément de la pile p tout en conservant les éléments qui le précèdent?
Est ce possible de supprimer un élément de la pile p tout en conservant les éléments qui le précèdent?
La question dépend de qui est ta référence, est-ce le sommet ou la base de la pile...
La pile C++ est comme les tubes dans lesquels on range les balles de tennis.
On peut voir la balle du dessus, on peut la prendre et on peut mettre une autre balle par au dessus. (On peut quand même savoir le nombre de balles aussi)
Ce sont les trois actions possibles.
J'espère que cela répond à ta question.
M.
La pile C++ est comme les tubes dans lesquels on range les balles de tennis.
On peut voir la balle du dessus, on peut la prendre et on peut mettre une autre balle par au dessus. (On peut quand même savoir le nombre de balles aussi)
Ce sont les trois actions possibles.
J'espère que cela répond à ta question.
M.
Merci bien
j'ai bien compris , je pensais qu'il était possible d'acceder au éléments suivants comme en C. (element->suivant)
j'ai bien compris , je pensais qu'il était possible d'acceder au éléments suivants comme en C. (element->suivant)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Non, une pile le permet rarement.
Il faut plutôt chercher dans d'autres types de conteneurs C++ pour avoir ces fonctionnalités. Je pense principalement au "vector", à la "queue" et à la "deque".
M.
Il faut plutôt chercher dans d'autres types de conteneurs C++ pour avoir ces fonctionnalités. Je pense principalement au "vector", à la "queue" et à la "deque".
M.