tableau dynamique de struct
Hello les geeks :-),
Je tente de créer un tableau dynamique de structure.
Il est définit ainsi:
Code:
1 2 3 4 5 6
| struct TFile
{
signed long Index;
AnsiString Name;
int Attribute;
}; |
Il est déclaré ainsi :
Lorsque j'en modifie la dimension par:
Code:
1 2 3
| if ((Files=(TFile *)realloc(Files,Number*sizeof(TFile)))==NULL)
// Number = le nombre de struct TFile dans le tableau Files |
il ne renvoie jamais de pointeur NULL mais crashe de temps en temps des TFile dans le tableau Files
J'en déduis que mon allocation de mémoire est foireuse mais je ne comprends pas pourquoi.
Merci de m'aider (et non, je ne suis pas tenté par std::vector, je voudrais plutôt comprendre que contourner le problème ;) )
Et donc, si on fait new / delete
Tout d'abord, où est le problème avec le Builder de Borland (il transmet des MST, le cholera ou il finance le terrorisme ? ;-) )
Mais revenons à mes angoisses diurnes
je garde
Code:
1 2 3 4 5 6 7 8
| struct TFile
{
signed long Index;
AnsiString Name;
int Attribute;
};
TFile *Files; |
et je le newise avec
Code:
Files= new TFile[Number];
// Number = le nombre de Files dans mon tableau de Files
Jusque là, no problemo, je joue avec et il hoche la queue.
Mais lors du licenciement
il fait son vilain et mord.
Où est ma faute?
balises [code] rajoutées par r0d. Merci d'y penser dorénavant.