Bonjour ! voilà j'ai un petit problème avec les
std::stack :
std::stack<double> stack;
stack.push(20);
stack.push(10);
[...]
double a = stack.top();
printf("%d\n", a);
stack.pop();
double b = stack.top();
printf("%d\n", b);
stack.pop();
printf("%d\n", a+b);et j'obtiens à l'affichage,
10
20
20alors que le dernier devrait afficher
30... autre exemple, si je stocke
1000 dans la pile et que je fais un
log10 sur
stack.top(), j'obtiens une valeur extrêmement bizzare (alors que je devrais avoir
3 non ?)... Comment puis-je faire pour récupérer un
double utilisable à partir de la pile ?
Merci d'avance !