merci je ne savais pas qu on pouvais faire int val = s.pop()
mais parcontre ja i une erreur et je vois pas ou !
Code :
- #include <cstdlib>
- #include <iostream>
- #include <stack>
- using namespace std;
- void reverse_print(stack<int> s)
- {
- // si c'est vide on se casse
- if (s.empty()) return;
- //on prend le sommet de la pile
- int val = s.pop();
- //on imprime le fond de la pile
- reverse_print(s);
- //on imprime le sommet de la pile
- cout << val;
- }
- int main()
- {
- stack<int> test;
- for (int i=0; i<10;i++) test.push(i);
- reverse_print(test);
- return 0;
- }
|
Code :
- g++ -o tut2_3.out tut2_3.cpp
- tut2_3.cpp: Dans function « void reverse_print(std::stack<int, std::deque<int,
- std::allocator<int> > > ) »:
- tut2_3.cpp:17: error: void value not ignored as it ought to be
- zsh: exit 1 g++ -o tut2_3.out tut2_3.cpp
|
apperement il aime pas le int val=s.pop() c est normal, elle renvoie pas d int cette fonction.
en remplacant pop par top() erreur de segmentation
Message édité par xiluoc le 03-03-2004 à 10:23:58