bonjour
comment pourrais-je effacer le contenu d'une ou plusieurs case d'un vecteur dans une boucle.
exemple:
vector <string> vec;
vector <string>::iterator vec_iter;
le soucis: lorsque j'efface le contenu d'une case , vec_iter=chainevide.
Comment faire pour ne pa perdre le contenu de vec_iter? (prochaine case du vecteur)
erase te retourne un itérateur, il faut que tu l'utilises, et ne pas
incrémenter quand tu fais erase. Par conséquent, la boucle for n'est
pas appropriée:
vector <string> vec;
vector <string>::iterator vec_iter;
vec_iter=vec.begin()
while(vec_iter != vec.end())
{
if ((*vec_iter == "champs") || (*vec_iter=="autrechamps"))
Un pointeur sur le type du vecteur? Je vois pas ce que tu veux dire par
la. Si tu veux un pointeur sur un élément du vecteur, tu n'a qu'a faire
string* ptr = &vec[0]
(string* ptr = vec[0] ne marchera pas car vec[0] est de sype string et non string*)