C++创建类后创建类的数组 发生地址错误

问题遇到的现象和发生背景

0xC0000005: 读取位置 0x00000000 时发生访问冲突。

问题相关代码,请勿粘贴截图



     #include <iostream>
using namespace std;
#include <fstream> //读写文件
class  players {
public:
    int j_score[10]; //裁判给分
    int a_score = 0;//观众给分
    double allscore = 0;//总分
    int ID = 0; //学号
    string name = 0;
    double all_jscore;
    

};   players  player[30];

//---------------------------------将观众给分导入文件-------------------------------
void put_a_score1() {
    ofstream outputa;
    outputa.open("F2.txt",ios::out);
    if (!outputa) {
        cout << "打开文件失败" << endl;
    }
    else {
        outputa << "选手\t观众得分\t" << endl;
        for (int i = 0; i < 30; i++) {
            outputa << player[i].ID << '\t' << player[i].a_score << endl;
        }
    }
    outputa.close();
运行结果及报错内容

0xC0000005: 读取位置 0x00000000 时发生访问冲突。

我的解答思路和尝试过的方法
我想要达到的结果

if (!outputa) {
改为
if(outputa.fail()){