как выполнить метод поиска по индексу

#c #visual-c

#c #visual-c

Вопрос:

я пытаюсь выполнить поиск по индексу для строки, я получаю сообщение об ошибке: недопустимое преобразование из const char * в int . может кто-нибудь, пожалуйста, объясните, что это значит.

вот код

 #include <iostream>

#include<string>

#include <stdio.h>
#include <string.h>

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] ;

}
 

// где-то в этом блоке кода выдает мне ошибку, но, похоже, я не могу понять это, пожалуйста, помогите и спасибо
char search_list(const char fn[], const char ln[], int size, char search) {

     int index = 0;

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

        index  ;

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

        index = "";

    return index;

}
 

Комментарии:

1. Слишком много кода внутри. Присмотритесь внимательнее к сообщению об ошибке, которое вы получаете — оно должно содержать номер строки кода, при котором возникает ошибка.

Ответ №1:

Вы вызываете функцию, которая принимает аргументы типа

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

с аргументами

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

Вы можете видеть, как последние не совпадают.

Кроме того, вы пытаетесь присвоить a char const[] int с помощью этой строки:

 index = "";
 

Ответ №2:

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

    index = "";
 

Вот ошибка, ваш индекс является целым числом, вы не можете присвоить ему тип char*.