传递一个向量元素作为函数参数

时间:2017-12-06 20:20:40

标签: c++ vector

我想将某个位置的向量元素作为函数参数传递,以生成字符串。有了这个字符串,我想打开一个文件。 现在我的向量填充了一些字符串,我用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。

1 个答案:

答案 0 :(得分:0)

将参数从字符串* []更改为只是字符串(甚至更好的字符串const&amp;),对于你正在做的事情,不需要将指针传递给向量中的元素。