Gå til innhold

[Løst] Slette flere element i vektor med objekter


Anbefalte innlegg

Jeg har to vektorer, en vector<student> og en vector<TestResults>

 

begge to inneholder en studentId. Når jeg sletter en student vil jeg også slette alle TestResults til den studenten.

 

Det jeg vil gjøre er å slette alle TestResults med studentId samme som studentId til studentvektoren.

Jeg kan få frem studentId'en med testResults.getStudentId og students.getStudentId.

 

Noe ala:

testResults.erase(where testResults.getStudentId == students.getStudentId);
Endret av Emsal
Lenke til kommentar
Videoannonse
Annonse

Jeg har to vektorer, en vector<student> og en vector<TestResults>

 

begge to inneholder en studentId. Når jeg sletter en student vil jeg også slette alle TestResults til den studenten.

 

Det jeg vil gjøre er å slette alle TestResults med studentId samme som studentId til studentvektoren.

Jeg kan få frem studentId'en med testResults.getStudentId og students.getStudentId.

 

Noe ala:

testResults.erase(where testResults.getStudentId == students.getStudentId);

 

auto student = students.find(...);
students.erase(std::remove_if(testResults.begin(), testResults.end(),
                              [=](const TestResults &t){ return t.studentId == student.studentId; }),
               students.end());
? Endret av zotbar1234
Lenke til kommentar

Hva putter jeg i students.find? Vil ikke den slette noe i students istedenfor testResults?

 

Får dessuten opp "Doesn't have a function find"

navnan:

    vector<Students> students;
    vector<TestResults> testResults;
Endret av Emsal
Lenke til kommentar

du mente vel

 

EDIT: Løste problemet

auto student = find(students.begin(),students.end(), "søkeord")!=students.end();

 

Jeg sovnet litt i timen. Skulle ha vært std::find(), og vitsen var egentlig bare å vise at man hadde et Students-objekt. Vi prøver en gang til:

 

auto student = ...;
testResults.erase(std::remove_if(testResults.begin(), testResults.end(),
                                 [=](const TestResults &t){ return t.studentId == student.studentId; }),
                  testResults.end());
Endret av zotbar1234
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...