Ciao a tutti,
nel mio programmino, leggo un file e carico delle strutture. Il file contiente oggetti e caratteristiche di questi.
All'interno del file, però, una struttura (tipo il rettangolo) puo' presentarsi piu' volte , quindi leggo il file e con la malloc mi occupo delle aree di memoria dove con l'aiuto di un indice posso andare a riprendere le singole strutture e rileggere le loro caratteristiche.
ES.
però nell'istruzione dove assegno il numero 2 mi dà il seguente errorecodice://faccio la malloc puntObj[numObj] = malloc(sizeof(Rettangolo)); if (puntObj[numObj] != NULL ) numObj++; // così diventa 1 puntRect = (Rettangolo*) puntObj[numObj] ; puntRect -> ObjID = 2; //per dire che la nostra struttura è un rettangolo.
Unhandled exception at 0x0016190b in Stampa.exe: 0xC0000005: Access violation writing location 0x00000000.
Ho definito:
Come mai presenta quell'errore?codice:void * puntObj [1000]; int numObj=0; Rettangolo * puntRect; //punta alla struttura rettangolo //La struttura rettangolo è così definita all'interno di .h typedef struct { int ObjID; int Xs; int Ys; int Xd; int Yd; COLORREF bckground ; COLORREF fgcolor; int LinkID; }Rettangolo;
Dove sbaglio?
Grazie.


Rispondi quotando