Je suis en train de surcharger le >> opérateur de lire un seul (créé avec enum Symbol {e,a,b,c,d};
) Symbole:En utilisant strchr surcharger >>
istream & operator >> (istream & is, Symbol & sym) {
Symbol Arr[]={e,a,b,c,d};
char ch;
is>>ch;
if (strchr("eabcd",ch))
sym=Arr[ch-'e'];
else {
is.unget();
is.setstate(ios::failbit);
}
return is;
}
Mais ce lit des déchets (chiffres) au lieu de ce que je la recherche, conduisant à une erreur de segmentation en essayant de l'imprimer avec ma surcharge < <, qu'est-ce que je fais mal? Edit: Oh, et bien sûr j'ai ajouté using namespace std;
au début, même avec iostream
et cstring
compris.
Juste curieux, quel problème voulez-vous résoudre? – Incomputable
Cela fait partie d'un plus grand projet pour mon cours de programmation d'objet dans une université, j'ai besoin de lire des symboles pour ensuite faire des opérations avec une table supplémentaire. –