Saltar al contenido

Diagnóstico

Un acceso que dejó de ser válido

Un programa guarda un puntero al primer elemento de un vector. Después inserta un elemento que provoca realocación y usa el puntero guardado.

El primer valor sigue existiendo en la colección, pero el puntero puede señalar el almacenamiento liberado. Conservación de valor no implica conservación de dirección.

Una solución puede ser guardar un índice y volver a resolverlo después de modificar el vector, siempre que la operación preserve el significado de ese índice. Insertar antes del elemento también puede cambiar su índice.

Un programa guarda un puntero al primer elemento de un vector, inserta uno que provoca realocación y después lee por el puntero. ¿Qué explica el fallo?