2011-10-27 127 views
-1

即時嘗試執行索引搜索的字符串,即時獲取錯誤消息:從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幫助和感謝 焦炭search_list(爲const char FN [] ,爲const char LN [],int長度,字符搜索){

int index = 0; 

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

     index++; 

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

     index = ""; 

    return index; 

} 
+0

裏面的代碼太多了。仔細觀察收到的錯誤消息 - 它必須包含遇到錯誤的代碼行號。 – iehrlich

回答

1

你調用一個函數,該函數參數類型的

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

的論據

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

你可以看到如何在最後的不匹配。

而且,你想一個char const[]分配給int這一行:

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

    index = ""; 

以下是錯誤,你的指數是一個整數,你不能將其設置爲char *類型。

+0

謝謝,但我發佈了錯誤的代碼。 – user836910