Cześć, pisze niewielka aplikacje konsolowa i natrafiłem na pewien problem. Mianowicie mam vector zapełniony strukturami(wszystkie struktury jednakowe) i chciałbym, aby użytkownik miał możliwość posortowania go, po co najmniej dwóch różnych parametrach jednocześnie(w zależności od tego co wpisze). struktura zawiera w sobie : number, name, category, login, website oraz password. Po uruchomieniu sortowania użytkownik ma do wyboru po jakich parametrach chce sortować i tu zaczyna się mój problem. Czy jest jakaś możliwość przekazania do wyrażenia Lambda/funkcji sortującej zmiennej wskazującej na parametr, po którym użytkownik chce sortować? Dodam, że próbuje to zaimplementować za pomocą std::sort i chciałbym to zrobić bez konieczności pisania tylu funkcji sortujących ile jest kombinacji parametrów. Poniżej znajduje się przykładowa funkcja sortująca. Chciałbym w jakiś sposób w miejsce np ".name" przekazywać wartość/wskaźnik za pomocą zmiennej(do której wcześniej użytkownik wpisze wartość, która wskazywała by na dany parametr struktury).
sort(passwordVec.begin(), passwordVec.end(), [](Password const& pass1, Password const& pass2) {
if (pass1.name < pass2.name) return true;
else if (pass1.category < pass2.category)return true;
else return false; });