Help string c++

Résolu
wiam_ Messages postés 188 Statut Membre -  
wiam_ Messages postés 188 Statut Membre -
Bonjour,
je suis entrain de faire une recherche sequentielle ,et j'ai un pbleme,voici une partie de mon programme

int Class::RechercheSequentille() const{

int i=0,ind=-1; string Nom; int encoreAvant; bool trouve=false;

cout<<"Veuillez saisir le nom que vous voulez rechercher\n";
getline(cin,Nom)

do{

trouve=(_tab[i].getNom()== Nom);
i++;
encoreAvant = (strcmp(_tab[i].getNom().c_str , Nom)<0); //la ligne qui contient l'erreur
//getNom() retourne un nom sous forme de string

}while(encoreAvant && i<N);

if (trouve){ ind=i; }

return(ind);

}


l'erreure que j'ai est (no matching function for call to strcmp(<unknown type,std::string&>))
si qql pourrait m'aidez je serais tres reconnaissante
merci

4 réponses

Mahmah Messages postés 497 Statut Membre 125
 
Salutations Wiam,

Le compilo ne trouve pas de fonction strcmp qui prenne comme paramètres les tiens.
Le "unknown type" est bizarre.
Le problème vient du second paramètre: une référence vers un std::string ce qui est en effet le type de Nom

Je te laisse corriger. (Cependant strcmp c'est du C, pas du C++)

M.

PS:
Il existe des balises spécifiques pour insérer du code sur le forum, (à côté du souligner) elles ont l'avantage de garder l'indentation.
0
wiam_ Messages postés 188 Statut Membre 8
 
merci pour ta reponse ,mais que dois-je faire?
merci
0
Mahmah Messages postés 497 Statut Membre 125
 
strcmp(_tab[i].getNom().c_str() , Nom.c_str())

(J'avais pas vu les parenthèses manquantes le premier coup ^^")

OU, à la C++

bool bAvant;

bAvant = ( _tab[i].getNom() < Nom );

^
Vérifie le sens du test que tu souhaites, ici, vrai si ( _tab[i].getNom() ) est avant Nom dans ordre alphabétique

M.
0
wiam_ Messages postés 188 Statut Membre 8
 
merci beaucoup pour ta reponse,ca marche tres bien
0