PDA

Visualizza la versione completa : [C++] Eliminare elemento da un vector


cerza
14-07-2011, 18:37
salve,
ho un vector della libreria stl e dovrei eliminare un elemento che ha un determinato valore dal vettore come faccio??
ho provato con remove ma forse non ho capito molto bene il tutto, c' qualcuno che pu aiutarmi??
grazie

maria

oregon
14-07-2011, 19:31
Ma parli di vector o di list ? :spy:

cerza
15-07-2011, 10:28
di vector

oregon
15-07-2011, 11:56
Ma in vector non esiste un remove ...

cerza
15-07-2011, 15:31
scusami ma list e vector hanno pi o meno gli stessi metodi.... pensavo che potesse essere giusto usare il metodo "erase" ma a volte mi lancia eccezione

oregon
15-07-2011, 16:05
Sarebbe meglio usare una list ... in ogni caso il consiglio sempre lo stesso ... mostra il codice con cui stai lavorando, dicci cosa vuoi fare e quali sono gli errori ...

cerza
15-07-2011, 16:54
bene la situazione la seguente:


printf("dimensione della lista prima %d\n", play.ships.size());
play.ships.erase(play.ships.begin()+i);
printf("dimensione della lista dopo %d\n", play.ships.size());

solo che ad un certo punto arriva il segente errore:

"Expression: vector subscirpt out of range"???
perch?? :facepalm:
grazie

oregon
15-07-2011, 17:02
A parte il fatto che parli di "lista" e usi un vector (invece di usare una list come ti dicevo prima), sarebbe utile sapere cosa viene visualizzato da questa linea

printf("dimensione della lista prima %d\n", play.ships.size());

e quanto vale i ...

cerza
15-07-2011, 17:37
parlo di lista solo in una printef quindi solo serve solo a me per capire, la stampa di cui parli mi stampa il numero di elementi presenti nel vettore....
comunque mi sai dire qualcosa in merito all'errore???

oregon
15-07-2011, 18:45
Ti ho fatto due domande ...

1) la riga della printf quale valore visualizza ?

2) quanto vale i ?

Loading