vector <student> студентов инициализации как массивы

struct record
{
    double mid_exam;
    double fin_exam;
    double assignment[5];
    double score;
    char grade;
};

struct student
{
    string name;
    record math;
    record science;
};

int main()
{
    vector<student> students {
        // { name, math, science}
        { "John", {10.5, 90, 80, 85, 20, 70, 60}, {70.5, 90, 80, 85, 20, 70, 60} },
        { "Elton", {20.5, 90, 80, 85, 20, 70, 60}, {70.5, 90, 80, 85, 20, 70, 60} },
        { "Houston", {30.5, 90, 80, 85, 20, 70, 60}, {70.5, 90, 80, 85, 20, 70, 60} },
        { "Ashton", {40.5, 90, 80, 85, 20, 70, 60}, {70.5, 90, 80, 85, 20, 70, 60} },
        { "Lee", {50.5, 90, 80, 85, 20, 70, 60}, {70.5, 90, 80, 85, 20, 70, 60} },
        { "Jack", {60.5, 90, 80, 85, 20, 70, 60}, {70.5, 90, 80, 85, 20, 70, 60} },
        { "Christiano", {70.5, 90, 80, 85, 20, 70, 60}, {70.5, 90, 80, 85, 20, 70, 60} },
        { "Lukas", {80.5, 90, 80, 85, 20, 70, 60}, {70.5, 90, 80, 85, 20, 70, 60} },
        { "Sahid", {90.5, 90, 80, 85, 20, 70, 60}, {70.5, 90, 80, 85, 20, 70, 60} },
        { "Ryan", {90.5, 90, 80, 85, 20, 70, 60}, {70.5, 90, 80, 85, 20, 70, 60} }
    };
}

Я делаю программу управления оценкой студентов с вектором для студента.

Я инициализировал векторные массивы. Я не написал счет и номер оценки, которые будут вычисляться в функции вычисления оценок.

Visual Studio напечатал сообщение об ошибке, внутренняя ошибка произошла внутри компилятора.

Сначала я сделал этот код с

student students[10]

массив и все работало нормально.

Я изменил только array на vector и я не могу узнать, что сейчас не так.

Всего 1 ответ


Следующее сработало у меня в VS2015:

struct record
{
    double mid_exam;
    double fin_exam;
    double assignment[5];
    double score;
    char grade;
};

struct student
{
    string name;
    record math;
    record science;
};

int main()
{
     student students[10] =  {
        // { name, math, science}
        { "John", {10.5, 90, 80, 85, 20, 70, 60}, {70.5, 90, 80, 85, 20, 70, 60} },
        { "Elton", {20.5, 90, 80, 85, 20, 70, 60}, {70.5, 90, 80, 85, 20, 70, 60} },
        { "Houston", {30.5, 90, 80, 85, 20, 70, 60}, {70.5, 90, 80, 85, 20, 70, 60} },
        { "Ashton", {40.5, 90, 80, 85, 20, 70, 60}, {70.5, 90, 80, 85, 20, 70, 60} },
        { "Lee", {50.5, 90, 80, 85, 20, 70, 60}, {70.5, 90, 80, 85, 20, 70, 60} },
        { "Jack", {60.5, 90, 80, 85, 20, 70, 60}, {70.5, 90, 80, 85, 20, 70, 60} },
        { "Christiano", {70.5, 90, 80, 85, 20, 70, 60}, {70.5, 90, 80, 85, 20, 70, 60} },
        { "Lukas", {80.5, 90, 80, 85, 20, 70, 60}, {70.5, 90, 80, 85, 20, 70, 60} },
        { "Sahid", {90.5, 90, 80, 85, 20, 70, 60}, {70.5, 90, 80, 85, 20, 70, 60} },
        { "Ryan", {90.5, 90, 80, 85, 20, 70, 60}, {70.5, 90, 80, 85, 20, 70, 60} }
    };
}```

Есть идеи?

10000