Witam.
Mam napisaną klasę Osoba, która posiada imie i nazwisko. Następnie utworzyłem listę jednokierunkową za pomocą forward_list.
#include <iostream>
#include <forward_list>
#include <cstdlib>
#include <ctime>
#include <conio.h>
using namespace std;
class Osoba{
private:
string imie;
string nazwisko;
public:
Osoba(){
cout<<"Podaj imie osoby: ";
cin>>imie;
cout<<"Podaj nazwisko osoby: ";
cin>>nazwisko;
}
string getImie(){
return imie;
}
string getNazwisko(){
return nazwisko;
}
};
int main()
{
forward_list<Osoba> lista_osob;
// TUTAJ DODAŁEM DO LISY KILKA OSOB ( push_front ), TERAZ CHCE USUNĄĆ OSOBĘ/Y, KTÓRA NAZYWA SIĘ JAN KOWALSKI
// Próbowałem użyć wbudowanej metody remove_if, ale przy kompilacji wyskakują błędy.
//Chodzi tutaj o to co siedzi w nawiasach remove_if, ale nie wiem jak odnieść się do imienia lub nazwiska, tak aby porównywał imię i nazwisko każdej osoby z listy
lista_osob.remove_if(lista_osob.getImie()=="Jan" && lista_osob.getNazwisko()=="Kowalski");
return 0;
}
Problem tkwi w funkcji remove_if.