2013-04-08 56 views
0

我是新來的C++編程我有一個任務,它接受一個txt文件的內容,並用字典txt文件檢查內容。當我的String []發送給我的功能,我總是得到其中規定的std ::基本的字符串不能轉換爲std ::〜應變C++使用字符串

ifstream d_file("dictionary.txt"); 
    string l; 
    vector<string> user_vec; 

    while(getline(d_file, l)) { 
     user_vec.push_back(l); 
    } 

    size_t line_count = user_vec.size(); 

    for(size_t i = 0; i < line_count; ++i) 
    { 
     // cout << i << " " << user_vec[i] << endl; 
     bool result = inDictionary(word, user_vec[i]); 

    } 



} 

bool inDictionary(string word,string dictionary[]) 
{ 
    cout<<word<< dictionary<<endl; 

} 

回答

1

你傳遞一個字符串函數期待一個錯誤一個字符串數組。

inDictionary更改爲以下,因爲user_vec[i]是一個字符串。

bool inDictionary(string& word,string& dictionary) 
{ 
    cout<<word<< dictionary<<endl; 
} 

或者,如果你想在所有的入線inDictionary函數傳遞傳遞載體導入功能。

bool inDictionary(string& word, std::vector<string>& dictionary) 
{ 
    //... 
} 

然後你會通過像bool result = inDictionary(word, user_vec);這樣的載體。

希望有所幫助。

+0

沒有投票,但太多副本! – 2013-04-09 00:04:50

0

user_vec[i]是一個字符串; string dictionary[]是字符串數組,類型不匹配。

您必須更改inDictionary函數的原型。