Emsal Skrevet 2. september 2015 Del Skrevet 2. september 2015 (endret) 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 2. september 2015 av Emsal Lenke til kommentar
zotbar1234 Skrevet 2. september 2015 Del Skrevet 2. september 2015 (endret) 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 2. september 2015 av zotbar1234 Lenke til kommentar
Emsal Skrevet 2. september 2015 Forfatter Del Skrevet 2. september 2015 (endret) 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 2. september 2015 av Emsal Lenke til kommentar
Emsal Skrevet 2. september 2015 Forfatter Del Skrevet 2. september 2015 (endret) du mente vel EDIT: Løste problemet auto student = find(students.begin(),students.end(), "søkeord")!=students.end(); Endret 2. september 2015 av Emsal Lenke til kommentar
zotbar1234 Skrevet 3. september 2015 Del Skrevet 3. september 2015 (endret) 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 3. september 2015 av zotbar1234 Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå