C++ pas utiliser peek() fonction dans la pile
Je suis en train d'utiliser le peek
fonction dans Visual Studio 2010 avec ces bibliothèques:
#include "stdafx.h"
#include <string>
#include <string.h>
#include <fstream>
#include <iostream>
#include <string.h>
#include <vector>
#include <stack>
Cependant, je ne peux pas utiliser le peek
fonction dans la pile:
void dfs(){
stack<Node> s;
s.push(nodeArr[root]);
nodeArr[root].setVisited();
nodeArr[root].print();
while(!s.empty()){
//peek yok?!
Node n=s.peek();
if(!n.below->isVisited()){
n.below->setVisited();
n.below->print();
s.push(*n.below);
}
else{
s.pop();
}
}
}
J'obtiens l'erreur:
Erreur 1 error C2039: "coup d'oeil": n'est pas membre de 'std::stack<_Ty>'
Ce que je fais mal?
stack
référence: en.cppreference.com/w/cpp/container/stack
OriginalL'auteur Saliha Uzel | 2012-03-30
Vous devez vous connecter pour publier un commentaire.
Il n'y a pas
peek
fonction dansstd::stack
.Vous êtes à la recherche pour
top()
?OriginalL'auteur Luchian Grigore
Je pense que vous voulez utiliser
au lieu du pic de.
OriginalL'auteur Jarosław Gomułka
Il n'y a pas de
peek
fonction std::stack. Pour référence, veuillez voir pileIl semble que si vous utilisez la fonctionnalité que
top
serait. Pour une référence sur le dessus, prendre un coup d'oeil à cette référence.OriginalL'auteur josephthomas
Votre code a
stack
, mais vous avez réellement voulu utiliserStack
. Ils sont deux choses différentes.OriginalL'auteur TJD