Bonjour,
Il se trouve que j'ai un projet en C++ et je suis complètement bloqué. A la fin de l'exécutionde mon projet , j'obtient le resultat que j'ai voulu mais une erreur s'affiche
DEBUG ERROR
DAMAGE AFTER NORMAL BLOCK
...
j'ai reussi à trouver la source de cette erreur, mais pas la manière de la corriger :
tout dabord , voici ma classe image, cette classe est censée avoir comme proprieté un objet de type matrice. la classe matrice fonctionne trés bien ( les surcharges ,les methodes...), mais c'est la surcharge de l'operateur = de la classe image qui cause cette erreur
class image
{
private:
matrice matrice_pixel;
public:
image(int n,int m) : matrice_pixel(n,m)
{
pixel p;
DEBUG ERROR DAMAGE AFTER NORMAL BLOCK : cette erreur se produit lorsque que tu essaies d'acceder a une adresse interdite , par exemple en depassant les limites de ton tableau, ou lorsque tu l'as fait et que tu essaies de desallouer l'espace. Reverifie ton code a ce niveau .
Pour ce qui est de ta classe , un destructeur serait le bienvenu. Ton code n'etant pas visible au complet sur le forum , je ne saurais en dire davantage pour aider.
du courage.
je suis heureux de faire partie d'une grande famille ...!
Tu as alloué manuellement de la mémoire dans ta classe ? Non, donc tu n'as rien à détruire.
Je vois pas d'erreur dans ton code. Juste une remarque:
matrice_pixel.remplir(i,j, pixel(0,0,0,0,i,j) ); // devrait suffit si l'argument est une référence c onstante. Inutile de passer par "p".
je t'écris car par rapport à ce sujet car le programme est fort intéressant, je fais un semblable avec la librairie GD
sous VC++ mais pour l'implémentation je n'ai pas encore tout
Pour ton programme, tu as définis une classe Image derivée de
matrice pixel donc ta classe matrice est générique et je pense à une classe couleur pour les paramètres RGB, mais doit elle être à son tour la classe de base pour une autre classe?
Pourrais tu m'envoyer ton design uml et methodes de tes classes ?