Pb de delete

cs_NADA114 Messages postés 3 Date d'inscription mardi 18 mars 2003 Statut Membre Dernière intervention 18 avril 2007 - 17 avril 2007 à 15:52
Ombitious_Developper Messages postés 2333 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 26 juillet 2013 - 18 avril 2007 à 18:12
bonjour,

j'utilise Microsoft Visual Studio .Net 2003 (C++)

voici mon pb
 je dois faire une lib en réutilisant un code dont les structures sont définies dans un "C style"
(exp:
struct  VdPoint
{
    int x;
    int y;
};
)
 et je dois aussi appeleer des fonctions prennent en paramètres des tableaux définis comme etant Type* (donc je ne peux pas utilisé la classe std::vector )

le pb est quand je fais

<!-- BEGIN TEMPLATE: bbcode_code -->
VdPoint *ptArray = new VdPoint[iCountPts] ;
...
 delete [] ptArray;
<!-- END TEMPLATE: bbcode_code -->
ça se plante au nivreau du delete
(msg d'erreur pb dans dbgdel.cpp
expression:_BLOCK_TYPE_IS_VALID(pHead->nBlockUse)
)
cependant avec malloc et free ça marche
!!!???
merci d'avance


<!-- / message -->
<!-- edit note -->

7 réponses

Ombitious_Developper Messages postés 2333 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 26 juillet 2013 38
17 avril 2007 à 21:26
Salut:

Si tu n'es pas obligée à utiliser cette structure qui représente un point, tu peux faire mieux en utilisant la classe MFC CPoint elle t'offre toutes les fonctionalités nécessaires pour traiter les points.


________________________________________________________________________________
A.B. : 
"Dieu nous donne des mains, mais il ne bâtit pas les ponts"
0
Ombitious_Developper Messages postés 2333 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 26 juillet 2013 38
17 avril 2007 à 21:28
Salut:

peux tu nous fournir le code entre:

VdPoint *ptArray =
new
 VdPoint[iCountPts] ;
...

 delete []
ptArray;







________________________________________________________________________________
A.B. : 
"Dieu nous donne des mains, mais il ne bâtit pas les ponts"
0
Ombitious_Developper Messages postés 2333 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 26 juillet 2013 38
17 avril 2007 à 21:34
Salut:

class Point {
    private int m_x;
    private int m_y;

public:
    Point (int x, int y) {
       m_x = x;
       m_y = y;
    }

    Point () {
    }

    int getX () {return m_x;}
    void setX (int value) {m_x = value;}

    // DE MEME POUR m_y
}

// Allocation

Point * ptArray =
new
 
Point[iCountPts];

for (int i = 0; i < iCountPts; ++i) {
    ptArray [i] = new Point ();
}

// Faire le ménage

if (ptArray != NULL)
    delete []
ptArray;



________________________________________________________________________________
A.B. : 
"Dieu nous donne des mains, mais il ne bâtit pas les ponts"
0
Ombitious_Developper Messages postés 2333 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 26 juillet 2013 38
17 avril 2007 à 21:35
Salut:

J'ai oublié la virgule à la fin de la définition de la classe:


class Point {
    // ...
};



________________________________________________________________________________
A.B. : 
"Dieu nous donne des mains, mais il ne bâtit pas les ponts
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_NADA114 Messages postés 3 Date d'inscription mardi 18 mars 2003 Statut Membre Dernière intervention 18 avril 2007
18 avril 2007 à 12:20
salut,
merci pour ton aide c gentil
mais
je doit réutiliser un code existant et non pas tout redefinir
0
cs_NADA114 Messages postés 3 Date d'inscription mardi 18 mars 2003 Statut Membre Dernière intervention 18 avril 2007
18 avril 2007 à 16:00
Salut,
enfin j'ai trouvé la cause:
au niveaudu setting de l'application qui appele la lib,  il faut mettre YES pour Ignore All Default Libraries

Merci
@++
0
Ombitious_Developper Messages postés 2333 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 26 juillet 2013 38
18 avril 2007 à 18:12
Salut:

Ton mieux, parceque le code paraît correct.


________________________________________________________________________________
A.B. : 
"Dieu nous donne des mains, mais il ne bâtit pas les ponts"
0
Rejoignez-nous