как выполнить метод поиска по индексу - PullRequest
0 голосов
/ 28 октября 2011

я пытаюсь выполнить индексный поиск строки, я получаю сообщение об ошибке: недопустимое преобразование из 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 charfn [], const char ln [], int size, поиск символа) {

    int index = 0;

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

        index++;

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

        index = "";

    return index;

}

Ответы [ 2 ]

1 голос
/ 28 октября 2011

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

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

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

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

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

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

index = "";
0 голосов
/ 28 октября 2011
if (index == size)//if target is not in a.

    index = "";

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...