Я пытаюсь динамически выделить массив базовых (ученических) классов, а затем назначить указатели на производные (математические) классы для каждого слота массива. Я могу заставить его работать, создав единый указатель на базовый класс, а затем назначив его производному классу, но когда я пытаюсь присвоить указатель динамически распределенному массиву базовых классов, он не работает. Я разместил фрагменты кода, который я использую ниже. Итак, в основном мой вопрос: почему динамически распределенный не работает?
Student* studentList = new Student[numStudents];
Math* temp = new Math(name, l, c, q, t1, t2, f);
studentList[0] = temp;
/*Fragment Above Gives Error:
main.cpp: In function âint main()â:
main.cpp:55: error: no match for âoperator=â in â* studentList = tempâ
grades.h:13: note: candidates are: Student& Student::operator=(const Student&)*/
Student * testptr;
Math * temp = new Math(name, l, c, q, t1, t2, f);
testptr = temp
//Works