int main()
{
/* ... */
double* playerScore; //The players' score of current game
for (int currentPlayer = 0; currentPlayer < PLAYER_NUMBER; currentPlayer++) {
for (int currentGame = 0; currentGame < GAME_NUMBER; currentGame++) {
cout << "For Player " << (currentPlayer + 1) << ", enter score for game " << (currentGame + 1) << ": ";
cin >> playerScore[currentGame];
Когда вы пишете в playerScore[currentGame]
, вы пишете в память, которая никогда не выделялась.Я не знаю, что вы пишете, но писать не вам.
Вы должны выделить память для playerScore
.Вам нужно будет решить, как лучше распределить память, но что-то вроде:
double playerScore[PLAYER_NUMBER];
может быть хорошей отправной точкой.
Кстати, это то, что ваш компилятор, вероятно, предупредитты о;вам может потребоваться включить больше предупреждений (-Wall -Wextra
- мои любимые флаги для gcc
- вашему компилятору может потребоваться что-то другое), но он должен быть в состоянии предупредить вас об этом.Хотя вам не нужно исправлять каждое предупреждение компилятора, не просто игнорируйте их - в современных компиляторах накоплен тысячелетний опыт программирования.