【发布时间】:2017-05-14 21:13:06
【问题描述】:
我正在尝试创建一个包含我的班级指针的二维数组。首先,我想将它们全部分配为 NULL:
Timetable::Timetable(int hours) : TimetableBase(hours){
scheduledLectures = new Lecture**[5];
for (int i = 0; i < 5; i++) {
scheduledLectures[i] = new Lecture*[hours];
for (int j = 0; j < hours; j++)
scheduledLectures[i][j] = NULL;
};
}
这是一个时间表生成器应用程序。我有一个函数可以将这些指针设置为特定对象。
void Timetable::setLecture(Lecture& lecture){
while ((lecture.getDuration()) -1 > 0){
scheduledLectures[lecture.getDayScheduled()][(lecture.getHourScheduled())+1] = &lecture;
}
}
编译器不会为此返回任何错误,但在运行时,指针似乎仍为 NULL。 我确信错误在 setter 函数内部(并且几乎可以肯定它是一个语法错误),但我找不到解决方案。 这里有什么问题?
谢谢
【问题讨论】:
-
您可能想创建一个minimal reproducible example。问题不在发布的代码中。