Bonjour, j'ai un probleme d'allocation/désalloc mémoire
voila la bete :
char** File.PMD5;
//Aloue
File.PMD5=new char*[File.NumHash];
for(unsigned int i=0;i<=File.NumHash;i++)
File.PMD5[i]=new char[33];
//S'amuse avec sans faire de buffer overflow
//Désaloue la mémoire
for(unsigned int i=0;i<File.NumHash;i++)
delete[] File.PMD5[i];
delete[] File.PMD5;
Alors ça plante en release mais pas en debug (juste un avertissement sur delete[] File.PMD5; meme si j'ai pas compris pourquoi, j'ai tenté de le virer mais plante quand meme).
Alors le programme plante avec un i variable, je comprend pas ...
Si quelqu'un a compris pourquoi, ce serais simpa une réponse, merci d'avance.
A voir également:
Desacation
Incompatible operand types char and string - Meilleures réponses
salut,
le problème est ailleurs, tu dois ecrire en dehors des bornes de ton tableau ...
copie colle le reste ou regarde toi meme, mais ton simple exemple ne devrait pas planter (ton < à la place de <= doit provoquer une fuite de mémoire, et non pas un plantage!)
oui, c'est ça qui me chargrine, je cherche, en fait, dans ce tableau de tableau je stoque les MD5 de partie de fichier.
Le client n'a pas de probleme lors de la suppression du tableau, c'est donc un probleme lors de la création de ce tableau sur le serveur, je cherche donc, j'ai une piste la avec un modulo qui ferait chier, mais bon, je crois que je vais le laisser tomber et me refaire une fonction modulo.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Ca marche trés bien ! hey hey lol, faut que je l'optimise un peu quand meme par contre meme si ici c'est pas grave de perdre 1/2 ms (sachant que apres le temps d'attente lors de la création du hash est bien plus grande)
Merci de votre aide ! (je pensais que j'étais fou lol) @+ et bon coding (hey hey, plein de bug résolus en plus)