Help string c++

Résolu
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

  1. 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
    1. merci pour ta reponse ,mais que dois-je faire?
      merci
      0
      1. 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
        1. merci beaucoup pour ta reponse,ca marche tres bien
          0