如何执行索引搜索方法

时间:2011-10-27 20:33:15

标签: 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] ;

}

//在这段代码中的某个地方给了我一个错误,但我似乎无法弄清楚,PLZ帮助和谢谢     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;

}

2 个答案:

答案 0 :(得分:1)

你正在调用一个带有

类型参数的函数
const char[], const char[], int, char

带参数

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

你可以看到最后的那些不匹配。

另外,您尝试使用此行为char const[]分配int

index = "";

答案 1 :(得分:0)

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

    index = "";

这是错误,你的索引是一个整数,你不能将它设置为char *类型。