我试图对字符串执行索引搜索,我得到一条错误消息:从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;
}
答案 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 *类型。