hola gente!, estoy usando el c++ Builder 2010 y my problema es cuando trato de usar
delete para liberar el espacio de memoria que esta usando el puntero a la clase que cree....lo que estoy haciendo es lo siguiente:
- En el evento
FormCreate creo un puntero a mi clase con el comando
new
Código C++:
Ver originalListado= new Lista_Producto;
//el puntero Listado ya fue declarado en el archivo .h y Lista_Producto es la clase que cree
- En el evento
FormDestroy del mismo formulario utilizo el comando delete en el puntero Listadp
El programa compila, el problema es que me da el error
access violation at address xxxxxxx in module 'BORLNDMM.DLL'. write of address xxxxxxx pero no estoy seguro si se libera el espacio de memoria de la variable.
La clase que cree cuenta tambien con un destructor:
Código C++:
Ver originalLista_Producto::~Lista_Producto(){
Producto *Aux= Primero;
while (Primero!= NULL){
Primero= Primero->Siguiente;
delete Aux;
Aux= Primero;
}
}
este es el caso de una lista enlazada, donde la clase
Producto es la pila.
Tambien quisiera saber si al usar el comando
delete lo que hace es utilizar el destructor de mi clase.
Saludos y gracias de antemano por las respuestas y la revision del problema