hoe een index-zoekmethode uit te voeren

ik probeer een index-zoekopdracht uit te voeren naar string, ik krijg een foutmelding: ongeldige conversie van const char * naar int. kan iemand uitleggen wat dit betekent?

hier is de code

#include 

#include

#include 
#include 

using namespace std;



void clist(char fn[],char ln[], int size);



char search_list(const char fn[],const char ln[], int size, string find);



int main(){

    string search;



    cout << "This program searches a list .\n";

const int total = 3;

char fn[total];
char ln[total];

clist(fn,ln, total);

cout << "Search contact:____  ";

cin >> search;

search_list(fn,ln, total, search);



  return 0;

}

void clist(char fn[],char ln[], int size){

    cout << "Enter " << size << " contact.\n";

    for (int index = 0; index < size; index++)
     cin >> fn[index] >> ln[index] ;

}

//ergens in dit blok van code geeft me een fout maar ik kan het niet lijken te vinden, plz help en bedankt     char search_list (const char fn [], const char ln [], int size, char search) {

    int index = 0;

    while ((fn[index] != search) && (index < size))

        index++;

    if (index == size)//if target is not in a.

        index = "";

    return index;

}
1
Te veel code binnenin. Bekijk de foutmelding die u ontvangt nader: de code moet het codelijnnummer bevatten waarop de fout zich voordoet.
toegevoegd de auteur iehrlich, de bron

2 antwoord

Je roept een functie die argumenten van het type neemt

const char[], const char[], int, char

met de argumenten

const char[], const char[], int, string

Je kunt zien hoe de laatsten niet overeenkomen.

U probeert ook een char const [] toe te wijzen aan een int met deze regel:

index = "";
1
toegevoegd
if (index == size)//if target is not in a.

    index = "";

Hier is de fout, uw index is een geheel getal, u kunt het niet instellen op een char * -type.

0
toegevoegd
bedankt maar ik heb de verkeerde code gepost.
toegevoegd de auteur user836910, de bron