public override void LiberarMemoria(EscritorC escritor) { string pedido; string varFila = Definicion.Nombre + "Fila"; //Libera cada una de las filas escritor.For(varFila + " = 0", varFila + " < " + cantFilas, varFila + "++"); escritor.WriteLine("salidaFree2 = free2( " + Definicion.Nombre + "[" + varFila + "] );"); escritor.If("salidaFree2 == escrituraFueraDelBuffer"); escritor.PrintfEscrituraFueraDelBufferEnFilaDeMatriz(Definicion.Nombre, varFila); escritor.WriteLine("cantErrores++;"); escritor.FinIf(); escritor.If("salidaFree2 == liberarPosMemNoValida"); escritor.PrintfCambioDeDireccionDelPunteroEnFilaDeMatriz(Definicion.Nombre, varFila); escritor.WriteLine("cantErrores++;"); escritor.FinIf(); escritor.If("salidaFree2 == dosFreeDelMismoBuffer"); escritor.PrintfDosFreeAlMismoParamEnFilaDeMatriz(Definicion.Nombre, varFila); escritor.WriteLine("cantErrores++;"); escritor.FinIf(); escritor.FinFor(); //Libera el arreglo de punteros escritor.WriteLine("salidaFree2 = free2( " + Definicion.Nombre + " );"); escritor.If("salidaFree2 == escrituraFueraDelBuffer"); escritor.PrintfEscrituraFueraDelBuffer(Definicion.Nombre); escritor.WriteLine("cantErrores++;"); escritor.FinIf(); escritor.If("salidaFree2 == liberarPosMemNoValida"); escritor.PrintfCambioDeDireccionDelPuntero(Definicion.Nombre); escritor.WriteLine("cantErrores++;"); escritor.FinIf(); escritor.If("salidaFree2 == dosFreeDelMismoBuffer"); escritor.PrintfDosFreeAlMismoParam(Definicion.Nombre); escritor.WriteLine("cantErrores++;"); escritor.FinIf(); }