[C con Clase] Duda con el uso Memoria Dinamica

Lucas Tisera lucastisera en yahoo.com.ar
Lun Feb 12 22:02:45 CET 2007


Hola a todos les escribo en esta oportunidad para consultarles:

Tengo el siguiente codigo

en el archivo "main.cpp"

#include <cstdlib>
#include <iostream>
#include "Maps.h"
using namespace std;

int main(int argc, char *argv[])
{
    cout << "\nCrando Mapa...";     //creando el mapa
    clMap MapaA(30,30);
    cout << "\nReservando Memoria...";
    MapaA.SetDimenciones(19,38);
    cout << "\nMapa Creado con Exito.";


    cin.get();
    return EXIT_SUCCESS;
}

Y en el archivo "maps.h"

class clMap
{
    private:
        int clDimX;
        int clDimY;
        int **clDimMap;
    public:
        clMap(int ctDimX, int ctDimY);
        ~clMap();
        void SetDimenciones (int ctDimX, int ctDimY);
        int SetCharPos (int ctPosX, int ctPosY);
};

clMap::clMap(int ctDimX, int ctDimY)
{
    clDimX = ctDimX;
    clDimY = ctDimY;
}

void clMap::SetDimenciones(int ctDimX, int ctDimY)
{
    delete clDimMap;
    clDimX = ctDimX;
    clDimY = ctDimY;
   
    clDimMap = new int*[ctDimX];
    for (int i=0; i < ctDimX; i++)
    {
    clDimMap[i] = new int[ctDimY];
    }
   
    for (int i = 0; i < ctDimX; i++)
    {
        for (int j = 0; j < ctDimY; i++)
        {
            clDimMap[i][j] = 0;
        }
    }
}
clMap::~clMap()
{
    for (int i; i < clDimX; i++)
    {
        delete[] clDimMap[i];
    }
    delete[] clDimMap;
}

int SetCharPos (int ctPosX, int ctPosY)
{
}


cuando Compilo esta todo barbaro, a la hora de que ejecuta la Funcion 
"SetDimenciones" reserva la memoria con exito, pero cuando quiero 
escribirla, me tira un error


La instruccion en "0x00401469" hace referencia a la memoria en 
"0x0000000". la memoria no se puede "written".

debo suponer que es por que quiero acceder a un lugar que "no reserve".

Alguna sugerencia?? ven algun error en el codigo (sobre todo en la calse)??

Saludos Lucas

	

	
		
__________________________________________________ 
Preguntá. Respondé. Descubrí. 
Todo lo que querías saber, y lo que ni imaginabas, 
está en Yahoo! Respuestas (Beta). 
¡Probalo ya! 
http://www.yahoo.com.ar/respuestas 






Más información sobre la lista de distribución Cconclase