in1, const string& in2) const
{
string onestring;
onestring.resize(in1.size());
transform(in1.begin(), in2.end(), onestring.begin(), ::tolower);
string twostring;
twostring.resize(in2.size());
transform(in2.begin(), in2.end(), twostring.begin(), ::tolower);
return(onestring < twostring);
}
};
template<typename T>
void Display(const T& get)
{
for (auto end = get.cbegin(); end != get.cend(); ++end)
cout << *end << endl;
}
int main()
{
setlocale(0, "");
vector<string>source;
source.push_back("John");
source.push_back("Easy");
source.push_back("Sunshy");
source.push_back("Lee");
cout << "Имена в порядке вставки\n";
Display(source);
cout << "Имена в порядке сортировки\n";
sort(source.begin(), source.end());
Display(source);
cout << "Имена в порядке сортировки с предикатом\n";
sort(source.begin(), source.end(), fix());
Display(source);
return 0;
}
При запуске ошибка - debug assertion failed, как исправить?
transform(in1.begin(), in2.end() Дальше точно есть смысл смотреть?) Edit: Вы же не предположили, что раз параметры "рядышком", то данные под ними - непрерывная последовательность?)
Обсуждают сегодня