begin process at 2012 02 10 20:10:09
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Divers

 > 

Débutant(e)

 > 

probleme de compilation DEBUG ERROR DAMAGE AFTER NORMAL BLOCK


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

probleme de compilation DEBUG ERROR DAMAGE AFTER NORMAL BLOCK

mercredi 9 avril 2008 à 18:33:53 | probleme de compilation DEBUG ERROR DAMAGE AFTER NORMAL BLOCK

ali_saguer1

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<pixel> matrice_pixel;

public:

    image(int n,int m) : matrice_pixel(n,m)
    {
        pixel p;

    for(int i=0; i<n;i++)
    for(int j=0; j<m;j++)
     matrice_pixel.remplir(i,j,p=pixel(0,0,0,0,i,j));
   
    }
   
    ~image(){    } // je pense que le probléme est ici, peut-etre je dois detruire matrice_pixel
...

image& operator=(const image &img)
{
if(this != &img)
{
matrice_pixel=img.matrice_pixel; //j'utilise le surcharge de l'operateur= de classe matrice
}
return (*this);

}
.....
};



Si quelqu'un pouvait m'indiquer la solution de cette erreur ce serait simpa.

Merci d'avance


mercredi 9 avril 2008 à 18:54:49 | Re : probleme de compilation DEBUG ERROR DAMAGE AFTER NORMAL BLOCK

luhtor

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".
mercredi 9 avril 2008 à 19:10:48 | Re : probleme de compilation DEBUG ERROR DAMAGE AFTER NORMAL BLOCK

ali_saguer1

Merci de votre réponse Luthor,

il se trouve que j'ai alloué dynamiquement de la mémoire dans ma classe matrice.

voice le code:

template<class T>
class matrice
{
private:

T **mat;

int max_de_lignes;

int max_de_colonnes;

int nombre_de_lignes;

int nombre_de_colonnes;

public:
matrice(int n,int m)
{
max_de_lignes=n,
max_de_colonnes=m;
nombre_de_lignes=0;
nombre_de_colonnes=0;
mat=new T*[max_de_lignes];
for(int i=0;i<max_de_lignes;i++)
mat[i] = new T[max_de_colonnes];
}

est ce que je dois liberer de la mémoire dans le destructeur de la classe image?

merci d'avance

jeudi 10 avril 2008 à 17:37:08 | Re : probleme de compilation DEBUG ERROR DAMAGE AFTER NORMAL BLOCK

nickydaquick

Membre Club
Réponse acceptée !

Salut;

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 ...!
jeudi 10 avril 2008 à 20:50:04 | Re : probleme de compilation DEBUG ERROR DAMAGE AFTER NORMAL BLOCK

ali_saguer1

merci de votre reponse nicky ,

mon probléme est résolue, en fait le probleme réside dans le destructeur de la classe
matrice
le code:
~matrice()
{
for(int i=0;i<max_de_colonnes;i++)// c'est  ici l'erreur, il faut remplacer max_de_colonnes par max_de_lignes
{
delete[] mat[i];
}
delete[] mat;
}

merci encore une fois
lundi 20 avril 2009 à 11:18:21 | Re : probleme de compilation DEBUG ERROR DAMAGE AFTER NORMAL BLOCK

develdelphi

Bonjout Ali_seger

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 ?

Merci

Ali


Cette discussion est classée dans : erreur, image, classe, pixel, matrice


Répondre à ce message

Sujets en rapport avec ce message

aide en c++ sur conversion d'un image bmp en matrice [ par beide ] Je suis étudiant en IUT, je n'ai jammais utilisé visual C++. <p class="MsoNormal" styl Image bmp à niveau de gris [ par nadine2511 ] Bonjour,je voudrais lire, traiter pixel à pixel et enregistrer une image à niveau de gris bmp (8 bits) mais je ne sais pas comment on fait. Si quelqu' Afficher une image sur une surface DirectDraw a partir d'un tableau de pixel. [ par noetom ] Salut Je voudrais savoir si il existe une fonction de DirectDraw permettant de stocker un tableau de pixel dans une surface DirectDraw histoire de p matrice representative d'une image jpeg [ par fatrak ] Salut, Je dois faire de la reconnaissance de formes sur images jpeg  affichée dans un dc sur une DialogBox. Maintenant je dois faire divers traitemen Erreur de segmentation... Qu'est ce que c'est ??? :o [ par Rouliann ] Salut tout le monde j'ai un gros problème et malgré tous mes essais je n'arrive pas à le résoudre... Il n'y a pas d'erreurs à la compilation mais lors recuperer la matrice qui correspond a une image JPG ou BMP [ par ouafaa ] Bonjour a tout le monde je souhaite savoir comment faire pour recuperer la matrice d'une image BMP ou JPG .j'utilise vtk com pixel et RGB d'une image en C [ par gibbon ] Bonjour,je voudrai récupérer les composantes RGB d'un pixel d'une image jpg en langage C.Pouvez vous m'aider s'il vous plait.Merci d'avance affichage d'un pixel [ par mezaya ] Bonjour, j'ai une image au format PNM et j'aimerai bien l'afficher sous windows. J'utilise la fonction SetPixelV() mais l'affichage est  long. je me afficher image bmp en matrice [ par chaker327 ] chaker327 Analyse image camera pixel/pixel [ par sergio78_ ] Salut, je dois analyser pixel par pixel une image prise par une camera. l'image capturée est mise dans un buffer dans la camera, puis je sauvegarde en


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,140 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales