请问这里为什么报错 呢?

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

请问报这个错是什么原因

遇到的现象和发生背景,请写出第一个错误信息

代码本身没有报错,但是运行时报错了

用代码块功能插入代码,请勿粘贴截图。 不用代码块回答率下降 50%

源代码如下:

#include 
#include

using namespace std;
class Student {
public:
    int id;
    string name;
    int age;
    char sex;

    Student(int m_id = -1, string m_name = "None", int m_age = 0, char m_sex = 'M') :
        id(m_id),
        name(m_name),
        age(m_age),
        sex(m_sex)
    {}

};
class Score {
public:
    int math;
    int English;
    int Chinese;
    int art;
    int add() {
        return  math + English + Chinese + art;
    }
    int average() {
        return (math + English + Chinese + art) / 4;
    }

};
class A :public Student {
public:
    string major;
    Score sc;

    A();
    A(string m_major, Score m_sc) {
        major = m_major;
        sc = m_sc;
    }
    ~A() {
    }

};
int main() {
    A temp;
    A a[10];
    for (int i = 0; i < 10; i++) {
        cout << "第" << i + 1 << "个人的学号、姓名、年龄、性别、专业、四门课成绩为:" << endl;
        cin >> a[i].id >> a[i].name >> a[i].age >> a[i].sex >> a[i].major
            >> a[i].sc.art >> a[i].sc.math >> a[i].sc.English >> a[i].sc.Chinese;
        cout << "第" << i + 1 << "个人总分为:" << a[i].sc.add() << "平均分为:" << a[i].sc.average();
    }

    for (int i = 0; i < 9; i++) {
        for (int j = i + 1; j < 10; j++) {
            if (a[j].sc.add() > a[i].sc.add())
                temp = a[j];
            a[j] = a[i];
            a[i] = temp;
        }
    }
    return    0;
}


运行结果及详细报错内容

img

我的解答思路和尝试过的方法,不写自己思路的,回答率下降 60%
我想要达到的结果,如果你需要快速回答,请尝试 “付费悬赏”

你项目里有多个文件中有main函数吗?
39行A类构造函数没写函数体,改为A() {}

无法解析A::A()函数
就是class A 的 A 函数