2013-04-08 52 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函数的原型。