你好这个程序的目的是将vector的所有元素初始化为字符串Empty,这是我第一次尝试处理向量并通过引用传递,因此我不确定是什么问题。
#include <iostream>
#include <string>
#include <vector>
using namespace std;
void mainMenu(vector <int> &VectorRooms(), string &EmptyString);
int main()
{
vector < int > Rooms(13);
string str1 = "Empty";
mainMenu(Rooms, str1);
}
void mainMenu(vector <int> &VectorRooms(), string &EmptyStrings)
{
int i;
for (i = 0; i < VectorRooms.size(); i++)
{
VectorRooms[i] = EmptyStrings;
cout << VectorRooms[i] << endl;
}
}
答案 0 :(得分:1)
你有:
void mainMenu(vector <int> &VectorRooms(), string &EmptyStrings)
你的意思是:
void mainMenu(vector <int> &VectorRooms, string &EmptyStrings)
删除这些括号。使用括号,您实际上将VectorRooms
声明为函数指针,该函数指针返回vector <int> &
并且不带参数的函数,并且索引[]
在函数指针上无效类型。当然,这不是你的意图