Я работал в течение последних нескольких дней в этом проекте. Моя проблема в том, что касается функции сортировки, она разваливается. Я чувствую, что мне не хватает параметра функции сортировки. Возможно, более опытные глаза могут видеть мою ошибку. Цель состоит в том, чтобы пользователь вводил строку, применял ее к массиву class person
, сортировал, а затем печатал на консоль. Раздел ввода работает отлично, но функция сортировки даже не компилируется, я не включил эту часть, но если она понадобится, я также опубликую ее.C++ Сортировка Класс String Array
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
//class declaration
class Person{
public:
string lastName;
string firstName;
};
//variables
int entry; // defined in other function
string choice; //defined in other function
//arrays
Person nameArray[10];
//function declarations
void sortView(){
sort(nameArray[0].lastName.begin(), nameArray[0].lastName.end() + entry);
for (int i = 0; i < entry; i++){
cout << nameArray[i].lastName;
cout << ", ";
cout << nameArray[i].firstName;
cout << endl;
}
};
Посмотрите на документ для [sort] (http://en.cppreference.com/w/cpp/algorithm/sort), который не работает * вообще * – Borgleader
Проблема в том, что вся документация для сортировки ссылается к использованию типов данных int, для этого назначения вход должен быть строкой. Мне хорошо известно, что строка на базовом уровне - это значения int, но я не понимаю, чего я не вижу. – Infynix
да так? связанный с ним документ показывает, как использовать пользовательскую функцию сравнения, которая * точно * то, что вам нужно. Тот факт, что примеры использует int, а не строку, не имеет значения. – Borgleader