void SMRentorno::AgregarModulo(SMRmodulo *mod)
{
SMRmodulo **aux; //contenedor aux para aumentar la dim y meter el nuevo mod
int numA,num;
if(mod->GetNivel()==SMR_N_MODULO) // si el modulo es del nivel que quiero
{
numA=this->GetNumModF(); // numA=numero de modulos sin añadir mod
num=numA+1; // num= numero de modulos añadiendo mod
aux=new SMRmodulo*[num]; // reserva de memoria en aux
for(int i=0;i<numA;i++) // recorro el contenedor de la clase SMRentorno
{
aux[i]=new SMRmodulo(); // reserva de memoria
aux[i]=(this->modulosF)[i]; //y voy metiendo en aux su contenido
}
aux[numA]=new SMRmodulo(); // reserva de memoria
aux[numA]=mod; // en el elemento [numA] meto el nuevo modulo
for(int i=0;i<numA;i++) //recorro el contenedor de la clase
delete [] this->modulosF[i]; // y borro los modulos que tiene AQUI DA EL ERROR al meter el 3º modulo
delete [] this->modulosF; // y depues borro la reserva de memoria
this->modulosF=aux; // finalmente hago que el ptro de la clase apunte al ptro aux
this->SetNumModF(num); // actualizo el numero de modulos
}
}