我不断得到数组下标需要是整数的错误,我明白了。但是,我很确定我声明我使用的下标是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, ""];
}
答案 0 :(得分:1)
在表达式
中events["", 0, 0, ""]
使用4个参数调用operator[]
。它只能采取一个论点。所以,这是错误的,但是您的错误消息的解释取决于编译器如何解析它。显然它将它解析为单个逗号表达式作为参数。在这种情况下,将丢弃三个第一个值,并将最后一个值(空字符串文字""
)用作索引。