Я не знаю, в чем проблема. Программа вылетает в этой функции. Вы можете мне помочь?
Я использую эти 2 функции для бенчмаркинга (сравнивая скорость контейнеров с различными методами ее использования). Я использую вектор "studentai" со всеми именами и фамилиями студентов. В векторе «silpni» учащиеся, итоговая оценка которых> 5. И, конечно же, «гери» со счетом <5. Эта функция хорошо работает: </p>
void atrinkimas_1(vector <duomenys>& studentai, vector <duomenys>& silpni, vector <duomenys>& geri)
{
sort(studentai.begin(), studentai.end(), tikrinimas_gal);
std::vector<duomenys>::iterator it = std::find_if(studentai.begin(),
studentai.end(), tikrinimas_5);
std::copy(it, studentai.end(), std::back_inserter(geri));
studentai.resize(studentai.size() - geri.size());
std: copy(studentai.begin(), it, std::back_inserter(silpni));
studentai.clear();
}
А это не так:
void atrinkimas_2(vector <duomenys>& studentai, vector<duomenys> &silpni)
{
sort(studentai.begin(), studentai.end(), tikrinimas_gal);
std::vector<duomenys>::iterator it = std::find_if(studentai.begin(), studentai.end(), tikrinimas_5);
std::copy(it, studentai.end(), std::back_inserter(silpni));
studentai.resize(studentai.size() - silpni.size());
}
В чем проблема?