我想将某个位置的向量元素作为函数参数传递,以生成字符串。有了这个字符串,我想打开一个文件。 现在我的向量填充了一些字符串,我用cout打印它们,用户应该输入一个数字,如果另一个函数被调用,则在此位置使用向量元素。
vector <string> kurzbez; //vector definition
void datei_oeffnen(string* var[]); //function definition
cout << ("Bitte die Zahl eingeben") << endl;
cin >> kurs_auswahl; //Type in Number
cout << endl;
datei_oeffnen(kurzbez.at(kurs_auswahl)) //function call with problem
我希望在特定的迭代器中使用vector元素调用该函数。
我得到的结果是编译时出现此错误:69 41 D:\ main.cpp [错误]无法转换&#39; std :: basic_string&#39; to&#39; std :: string ** {aka std :: basic_string }&#39;争论&#39; 1&#39; to&#39; void datei_oeffnen(std :: string )&#39;
我试图绕过那个错误并搜索了几天,但无济于事。知识渊博的人可以帮助我吗? 我使用Dev-C ++ 5.8.2和GCC 4.8.1。
答案 0 :(得分:0)
将参数从字符串* []更改为只是字符串(甚至更好的字符串const&amp;),对于你正在做的事情,不需要将指针传递给向量中的元素。