Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Poblema con vector<T>

Estas en el tema de Poblema con vector<T> en el foro de C/C++ en Foros del Web. Buenos dias: Tengo un vector tipo T con la siguiente definicion: inicio = vector <CFicha *> Tengo el siguiente problema, a la hora de eliminar ...
  #1 (permalink)  
Antiguo 27/05/2011, 01:53
 
Fecha de Ingreso: mayo-2011
Mensajes: 10
Antigüedad: 12 años, 10 meses
Puntos: 0
Poblema con vector<T>

Buenos dias:

Tengo un vector tipo T con la siguiente definicion:

inicio = vector <CFicha *>

Tengo el siguiente problema, a la hora de eliminar elementos del vector, si tengo unicamente 1 me lo hace perfecto, pero cuando tengo mas datos me elimina el que quiero y me duplica los otros...

la orden que utilizo es la siguiente:

inicio.erase (inicio.begin()+contador-1);

pero me da que hay algo que no esta muy bien, lo que estoy intentando hacer es una pequeña base de datos, y me gustaria meter una opcion para eliminar una persona y otra para modificarla, ¿como puedo hacer esta segunda?he pensado en eliminar la persona y hacerla de nuevo, pero me parece un poco "chapuzas", gracias de antemano!
  #2 (permalink)  
Antiguo 27/05/2011, 10:21
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años
Puntos: 228
Respuesta: Poblema con vector<T>

Nunca trabaje con vectores, asi que no se porque te pasa eso...Pero sobre lo que tu dices sobre modificar, la idea del vector es que te devuelve el objeto que queres. En esete caso al ser un puntero puede desreferenciarlo y hacer las modificaciones necesarias....

Al ser un puntero cuando vuelvas a acceder a traves del vector van a aparecer los cambios.
  #3 (permalink)  
Antiguo 05/06/2011, 12:36
 
Fecha de Ingreso: mayo-2011
Mensajes: 10
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: Poblema con vector<T>

ya lo he resuelto, era mas facil de lo que me imaginba, muchas gracias

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:25.