Ver Mensaje Individual
  #2 (permalink)  
Antiguo 13/05/2015, 00:10
eferion
 
Fecha de Ingreso: octubre-2014
Ubicación: Madrid
Mensajes: 1.212
Antigüedad: 10 años, 1 mes
Puntos: 204
Respuesta: insertar una cadena en una lista

Código C++:
Ver original
  1. Lista <char> *l1;

l1 es un puntero a un objeto de tipo Lista<char>... dónde creas el objeto?? en ningún sitio. Al no crear el objeto, el puntero (que tampoco está inicializado), "apunta" a una dirección de memoria no válida, por lo que al intentar realizar la operación "l1->Insertar(cad[i])" el programa va a dar error.

Para solucionar este problema tienes dos opciones:

1. Quitas el asterisco, usas el objeto por valor, lo cual implica que se creará y se destruirá automáticamente. Por supuesto, al usar el objeto por valor, ya no puedes usar el operador '->'.

2. Usas un new por algún lado para inicializar el objeto... y luego, por supuesto, te faltaría el correspondiente delete para liberar la memoria reservada.

Un saludo.