数组下标不是整数,尽管被声明为 int
Array subscript not an integer, despite being declared an int
我一直收到数组下标需要是整数的错误,我理解这一点。但是,我很确定我声明了我用作下标的内容为 int。有人可以帮我看看我在哪里搞砸了吗?这是 .h 文件的.cpp。
Month::~Month() {
int size = getNumberOfDays();
for (int i = 0; i < size; i++) {
events[i] = events["", 0, 0, ""];
}
}
void Month::deleteExistingEvent() {
cout << "What is the day of the event you want deleted? (1-31) " << endl;
int deleteDay;
cin >> deleteDay;
deleteDay = deleteDay - 1;
events[deleteDay] = events["", 0, 0, ""];
}
在表达式中
events["", 0, 0, ""]
operator[]
由 4 个参数调用。它只能接受一个参数。所以,这是错误的,但错误消息的解释取决于编译器如何解析它。显然,它将其解析为单个逗号表达式作为参数。在这种情况下,前三个值将被丢弃,最后一个值(空字符串文字""
)用作索引。
相关文章:
- 没有显式声明的int[]中的foreach
- 在 C++ 中声明 int 与<<
- 为什么在某些编译器中可以声明像int myarr[noconstant]这样的数组;而不是在其他编译器中?
- 'int a'声明隐藏参数
- 声明的 int 具有随机起始值
- 格式为`int Typedef my_int;`的Typedef声明
- 如何声明一个必须在C++中同时存储int和char值的2D数组
- 当我们声明 cin 为 int 并从 cin 中获取输入并在 cout 中打印 cin 时会发生什么?
- 错误:"int pow(double,int)"与上一个声明int pov(double a,int
- 在变量名后声明带有 () 的非内部类型与不使用变量名的行为不同。即 std::map<int,char>x(); - 这是怎么回事?
- 涡轮增压 这个声明“int fun-name(static int)”在C++中是否有效,为什么
- 在 c++ 中声明 int 对象
- 为什么或何时用指针声明int
- 这个声明"int(*ptr[3])();"是什么意思?
- 为什么在使用#define声明int的vector的vector时没有抛出错误
- 此类声明 int(a) 的 GCC 文档
- 为什么 p2 不是声明 int* p1, p2; 中的指针类型
- 在Xcode下的C++中声明int的数组
- 双指针二维数组声明int** seq=new int* [n];
- 声明 int 数组