下标需要数组或指针类型

Subscript requires array or pointer type

本文关键字:指针 类型 数组 下标      更新时间:2023-10-16

你好,这个程序的目的是将向量的所有元素初始化为字符串 空,这是我第一次尝试处理向量并通过引用传递,因此我不确定出了什么问题。

 #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;
    }
  } 

你有:

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

你是说:

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

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

相关文章: