Tout d'abord pourquoi faire deux boucles ? Et sinon au lieu de commencer par la fin, tu peux simplement utiliser un reverse iterator, à savoir it = pile.rbegin(). Sinon je ne pense pas que c'est une bonne idée d'appeler ton deque pile, parce que ça n'en est pas une et ça prête à confusion.
Dans tes deux boucles tu dois quand même vérifier que tu n'as pas parcouru toute la structure au cas où a >= pile.size(). (Tu peux utiliser pile.rend() pour la fin reverse).
Et finalement pour répondre à ta question, hé bien oui c'est normal, car tu faisqui est une affectation..Code:for(int i=1;i=a;i++)
D'ailleurs évite de faire *(itend-i) et incrémente plutôt ton itérateur à chaque itération.