下标需要数组或指针类型

时间:2014-04-04 17:54:08

标签: c++ string vector

你好这个程序的目的是将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;
    }
  } 

1 个答案:

答案 0 :(得分:1)

你有:

void mainMenu(vector <int> &VectorRooms(), string &EmptyStrings)

你的意思是:

void mainMenu(vector <int> &VectorRooms, string &EmptyStrings)

删除这些括号。使用括号,您实际上将VectorRooms声明为函数指针,该函数指针返回vector <int> &并且不带参数的函数,并且索引[]在函数指针上无效类型。当然,这不是你的意图