Variable de type string en paramètre d'une fonction
sheep70400
Messages postés5Date d'inscriptionsamedi 9 septembre 2006StatutMembreDernière intervention16 novembre 2008
-
16 nov. 2008 à 22:10
sheep70400
Messages postés5Date d'inscriptionsamedi 9 septembre 2006StatutMembreDernière intervention16 novembre 2008
-
16 nov. 2008 à 23:00
Bonsoir à tous et à toutes,
Je voudrais parcourir une chaine de caractère dans une variable de type string dans une fonction qui utilise une pile.
int main()
{
Pile pilou;
int longueur,i;
string phrase;
//initialise notre pile
effacer(pilou);
cout<<"Veuillez saisir une phrase, ce programme va le tester et vous dire si il est palindrome \n";
cin>>phrase;
i=0;
while (phrase[i] != "\0"){
empiler(pilou,phrase[i]);
i++;
}
afficher(pilou);
if (palindrome(pilou)){
cout<<"Il s'agit bien d'un palindrome"<<endl;
}else{
cout<<"Il ne s'agit pas d'un palindrome"<<endl;
}
}
Le compilateur me donne en message d'erreur :
1)
invalide conversion from char to const char après l'appel de la fonction empiler(pilou,phrase[i])
Voici le prototype de ma fonction : void empiler(Pile &pilou, string element)
2)
iso C++ forbids comparison between integer and pointers
Pour cette ligne : while (phrase[i] != "\0"){
J'ai essayé pas mal de choses... Mais après quelques heures d'arrachage de cheveux je me tourne vers la communauté :)
Merci d'avance de votre aide !
sheep
A voir également:
Variable de type string en paramètre d'une fonction
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 16 nov. 2008 à 22:57
Normal, le 2eme param est type string, tu envoies un ELEMENT DE la string.
Apprends donc à bosser avec des char[], on utilise des surcouches (string et autres trucs) quand on maitrise bien les concepts du C. Encore que.... on en a justement plus besoin de ces surcouches.