[решено]
У меня есть файл с несколькими людьми в нем, как реестр людей. Мне удалось напечатать их в случайном порядке, используя random_shuffle()
, но у меня возникли проблемы с печатью отсортированных.
Я хочу использовать функцию sort()
для c++11
, но не могукажется, понял это правильно. то есть происходит сбой с несколькими ошибками xutility и алгоритма.
Я пытался использовать операционную функцию в классе Person
. От person.cpp :
bool Person::Operator(const Person& that)
{
return this->name < that.name;
}
Для сравнения имен. Но он тоже не хотел работать.
Что у меня сейчас есть: PersonReg.cpp:
PersonReg::PersonReg(const int _maxSize)
{
this->maxSize = _maxSize;
personArray = new Person[_maxSize];
}
void PersonReg::AddPerson(Person *person)
{
this->personArray[indexInt++] = *person;
}
Person* PersonReg::begin()
{
return personArray;
}
Person* PersonReg::end()
{
return personArray + indexInt;
}
void PersonReg::SortPerson(Person *person)
{
std::random_shuffle(begin(), end());
PrintPersons();
int n = sizeof(personArray) / sizeof(personArray[0]);
std::sort(personArray, personArray + n);
for (int i = 0; i < n; i++)
{
std::cout << i << std::endl;
}
}
И в моем main.cpp :
void SortTest(Person *person, PersonReg &personReg)
{
ReadReg(personReg, "PersonExempel.txt");
personReg.SortPerson(person);
personReg.DeletePerson(person);
}
Функция ReadReg
просто читает в txt.file и добавляет Person в PersonReg
. Это работает нормально, по крайней мере!
Я получаю МНОЖЕСТВО таких ошибок:
Код серьезности Описание Проект Состояние файла Подавление строки Ошибка C2672 'operator __surrogate_func': не найдено соответствующей перегруженной функцииLabb3_c ++ c: \ program files (x86) \ microsoft visual studio \ 2017 \ community \ vc \ tools \ msvc \ 14.16.27023 \ include \ xutility 1108