• Miércoles 1 de Abril de 2026, 13:08

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - yusepe1

Páginas: [1]
1
C/C++ / Re: Acces violation en delete
« en: Martes 18 de Agosto de 2009, 01:09 »
Entendí lo de los deletes, pero no se que es un "dump del error" ni como se aplica. Mis clases están de la siguiente manera.


class Fragmento
{
                public:
                              void Fragmento();
                             void Fragmento(int N);               //por parametros
                             void SetFragmento(int N);    
                              .....funciones
                                 
                             ....variables
                             float * array;

}

//En el seteo, pido la memoria haciendo array = new float[N];
//y en el destructor lo borro haciendo delete [] array; o de la otra dorma, me tira el mismo //error con cualquiera de los dos

Después hay otra clase llamada Canal que contiene 1 o varios fragmentos según cuantos archivos lea.

class Canal
{
             public:
                    void Canal();
                    void SetCanal(int CantFrag, int N);
                   ....funciones
                   ....variables

                   Fragmento * fragmento;

//En el seteo de Canal, pido alojar dinamicamente CantFrag  fragmentos, cada uno con
//de largo para array. Y lo borro al cerrar el programa haciendo delete [] fragmento.
//(A veces me tira error aca tambien ademas, al cerrar el programa)
   
                 
}

Y asu vez hay una clase Canales que contiene 1 o varios objetos Canal

class Canales
{
                   void SetCanal(int CantCanales, int CantFrag, int N);
                     ...... funciones

                     .....variables
                     Canal * canal;

//Pido la memoria al setearlo haciendo canal = new Canal[CantCanales] y lo borro en el
//destructor haciendo delete [] canal.

}

Espero haber aclarado como es la estructura del programa.

2
C/C++ / Re: Acces violation en delete
« en: Sábado 15 de Agosto de 2009, 17:41 »
Claro. En una clase que he creado, tengo una variable publica llamada float * array. Luego pido la memoria dinamica al setear el objeto, en el inicio del programa, realizando array = new float[N], donde N es el largo del array. Luego en el destructor realizo delete array, al cerrar el programa. Cuando N no es muy grande, digamos por ej. N = 180000, no hay problema, es decir no tira "Acces Violation", pero si por ej N=550000, al cerrar el programa tira un error en esa linea de "Acces Violation". Ah y otro comentario todavía no entiendo bien la diferencia entre delete array y delete [] array, ya que para N's "chicos" funcionan bien cualquiera de las dos sentencias. Gracias

3
C/C++ / Acces violation en delete
« en: Viernes 14 de Agosto de 2009, 22:52 »
Hola gente, tenía un pequeño problema en un delete. Ya que creo una variable dinámica del tipo float y al hacer el delete correspondiente en el destructor, al cerrar el programa me tira un error de acces violation. Lo curioso es que esto sucede cuando el largo del array dinamico es muy largo. Si es lo suficientemente corto no tira este error. Si alguien me puede orientar lo agradecería porque no encuentro como solucionarlo todavia.

Muchas Gracias

Yusepe

Páginas: [1]