double studentScores[] = new double[i];
Это недействительно C++
. Это похоже на жестокий C++
/ Java
гибрид.
Здесь нельзя создать массив в стеке, поскольку для этого требуется фиксированный размер, известный во время компиляции.
Лучший способ в современном C++
- использовать std::vector
:
std::vector<double> studentScores;
studentScores.resize(i);
Если вы должны использовать new
, вы должны использовать указатель, потому что new
возвращает:
double* studentScores = new double[i];
Обратите внимание, что необходимо освободить эту память самостоятельно, когда вы закончите ее использовать:
delete[] studentScores;
В любом случае, если ", похоже, не работает с остальной частью моего кода" , вам нужно исправить оставшуюся часть кода. Вы можете задать для этого отдельный вопрос или воспользоваться поиском, чтобы найти вопрос, который может вам помочь.