struct disciplines {
char discipline[20];
};
struct students {
char group[10];
char discipline[20];
char teacher[30];
char name[30];
int mark;
};
void showAverage(std::vector<students>& student, std::vector<disciplines>& disList) {
disciplines str;
for (int i = 0; i < student.size(); i++) {
disciplines t1;
strcpy_s(t1.discipline, student[i].discipline);
for (int j = 0; j <= disList.size(); j++) {
disciplines t2;
strcpy_s(t2.discipline, disList[i].discipline);
if (t1.discipline == t2.discipline) break;
else{
strcpy_s(str.discipline, student[i].discipline);
disList.push_back(str);
}
}
}
}
Пытаясь скопировать поле из одного вектора в другой вызывает ошибку"Необработанное исключение по адресу 0x0F64ED76 (ucrtbased.dll) в Проект.exe: Недопустимый параметр был передан функции, для которой недопустимые параметры вызывают неустранимую ошибку." Срабатывает ошибка в строке
strcpy_s(t2.discipline, disList[i].discipline);
Поля являются массивами char. Первый такой же вызов отрабатывает нормально. В чем проблема и как ее решить?
disciplinesдобавьте в вопрос, ничего так не понять, что за полеdiscipline. – Apr 16 '19 at 19:34