Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Ambassadeur Kosh
attention :
Sav *sav = new Sav() ; ... delete sav ;
et
Sav *savs = new Sav[30] ; ... delete [] savs ;
(c'est le scalar qui me fait penser à ça)
et par securité, ajouter un constructeur par défaut et un destructeur dans TheOff et TheDem. conaissant "VC++ 6.0", je me méfierais et ne compterais pas trop sur ses aptitudes à faire ça tout seul.
genre : class TheOff { public : TheOff() {} ~TheOff() {}
CString OName; };
class TheDem { public :
TheDem() {} ~TheDem() {} CString DName; };
attention :
Sav *sav = new Sav() ;
...
delete sav ;
et
Sav *savs = new Sav[30] ;
...
delete [] savs ;
(c'est le scalar qui me fait penser à ça)
et par securité, ajouter un constructeur par défaut et un destructeur dans
TheOff et TheDem.
conaissant "VC++ 6.0", je me méfierais et ne compterais pas trop sur ses
aptitudes à faire ça tout seul.
genre :
class TheOff
{
public :
TheOff() {}
~TheOff() {}
et par securité, ajouter un constructeur par défaut et un destructeur dans TheOff et TheDem. conaissant "VC++ 6.0", je me méfierais et ne compterais pas trop sur ses aptitudes à faire ça tout seul.
genre : class TheOff { public : TheOff() {} ~TheOff() {}
CString OName; };
class TheDem { public :
TheDem() {} ~TheDem() {} CString DName; };
adebaene
"Bruno.Barral" ***adoo.fr> wrote in message news:<bvjhfi$kt0$...
Bonjour,
J'ai développé une application en VC++ 6.0 avec les MFC sous Windows ME, mais qui fonctionne sous n'importe quel Windows 9x et supérieurs.
J'ai créé les classes suivantes :
class TheOff { public : CString OName; };
class TheDem { public : CString DName; };
class Sav { public : long IDSav; CString name; TheOff lof; TheDem led; };
Pour créer un objet Sav, je fais :
mysav = new Sav;
Pour détruire un objet Sav, je fais :
delete mysav;
Est-ce bien nécessaire dans ton cas de faire une allocation dynamique. Tu ne pourrais pas créer directement l'objet sur la pile ? Sav mysav;
Or, dans une fonction où je détruis beaucoup d'objets de type Sav, j'ai un plantage avec le message suivant :
Sav::`scalar deleting destructor'(unsigned int 1) + 37 bytes
Et je ne comprends pas le sens de ce message ...
Montres nous le code de la fonction en question.
Arnaud
"Bruno.Barral" <barral.b@wan***adoo.fr> wrote in message news:<bvjhfi$kt0$2@news-reader4.wanadoo.fr>...
Bonjour,
J'ai développé une application en VC++ 6.0 avec les MFC sous Windows ME,
mais qui fonctionne sous n'importe quel Windows 9x et supérieurs.
J'ai créé les classes suivantes :
class TheOff
{
public :
CString OName;
};
class TheDem
{
public :
CString DName;
};
class Sav
{
public :
long IDSav;
CString name;
TheOff lof;
TheDem led;
};
Pour créer un objet Sav, je fais :
mysav = new Sav;
Pour détruire un objet Sav, je fais :
delete mysav;
Est-ce bien nécessaire dans ton cas de faire une allocation dynamique.
Tu ne pourrais pas créer directement l'objet sur la pile ?
Sav mysav;
Or, dans une fonction où je détruis beaucoup d'objets de type Sav, j'ai un
plantage avec le message suivant :
Sav::`scalar deleting destructor'(unsigned int 1) + 37 bytes
"Bruno.Barral" ***adoo.fr> wrote in message news:<bvjhfi$kt0$...
Bonjour,
J'ai développé une application en VC++ 6.0 avec les MFC sous Windows ME, mais qui fonctionne sous n'importe quel Windows 9x et supérieurs.
J'ai créé les classes suivantes :
class TheOff { public : CString OName; };
class TheDem { public : CString DName; };
class Sav { public : long IDSav; CString name; TheOff lof; TheDem led; };
Pour créer un objet Sav, je fais :
mysav = new Sav;
Pour détruire un objet Sav, je fais :
delete mysav;
Est-ce bien nécessaire dans ton cas de faire une allocation dynamique. Tu ne pourrais pas créer directement l'objet sur la pile ? Sav mysav;
Or, dans une fonction où je détruis beaucoup d'objets de type Sav, j'ai un plantage avec le message suivant :
Sav::`scalar deleting destructor'(unsigned int 1) + 37 bytes
Et je ne comprends pas le sens de ce message ...
Montres nous le code de la fonction en question.
Arnaud
Bruno.Barral
Bonjour,
Merci pour les réponses. J'ai réglé le problème : cela venait du fait que je supprimais (avec delete) un objet qui n'existait plus ... Un grand classique, quoi ! :-)
-- -------------------- "Pour une fusillade qui est mortelle, il y en a environ trois sans mort d'homme. Et, mes amis, cela est inacceptable en Amérique. C'est totalement inacceptable. Et nous devons agir."-Georges W. Bush - Philadelphie, Mai 14, 2001 "Arnaud Debaene" a écrit dans le message news:
"Bruno.Barral" ***adoo.fr> wrote in message
news:<bvjhfi$kt0$...
> Bonjour, > > J'ai développé une application en VC++ 6.0 avec les MFC sous Windows ME, > mais qui fonctionne sous n'importe quel Windows 9x et supérieurs. > > J'ai créé les classes suivantes : > > class TheOff > { > public : > CString OName; > }; > > class TheDem > { > public : > CString DName; > }; > > > > class Sav > { > public : > long IDSav; > CString name; > TheOff lof; > TheDem led; > }; > > Pour créer un objet Sav, je fais : > > mysav = new Sav; > > Pour détruire un objet Sav, je fais : > > delete mysav;
Est-ce bien nécessaire dans ton cas de faire une allocation dynamique. Tu ne pourrais pas créer directement l'objet sur la pile ? Sav mysav;
> Or, dans une fonction où je détruis beaucoup d'objets de type Sav, j'ai
un
> plantage avec le message suivant : > > Sav::`scalar deleting destructor'(unsigned int 1) + 37 bytes > > Et je ne comprends pas le sens de ce message ... Montres nous le code de la fonction en question.
Arnaud
Bonjour,
Merci pour les réponses.
J'ai réglé le problème : cela venait du fait que je supprimais (avec delete)
un objet qui n'existait plus ... Un grand classique, quoi ! :-)
--
--------------------
"Pour une fusillade qui est mortelle, il y en a environ trois sans mort
d'homme. Et, mes amis, cela est inacceptable en Amérique. C'est totalement
inacceptable. Et nous devons agir."-Georges W. Bush - Philadelphie, Mai 14,
2001
"Arnaud Debaene" <adebaene@club-internet.fr> a écrit dans le message news:
16a4a8c7.0402020150.3259ed18@posting.google.com...
"Bruno.Barral" <barral.b@wan***adoo.fr> wrote in message
news:<bvjhfi$kt0$2@news-reader4.wanadoo.fr>...
> Bonjour,
>
> J'ai développé une application en VC++ 6.0 avec les MFC sous Windows ME,
> mais qui fonctionne sous n'importe quel Windows 9x et supérieurs.
>
> J'ai créé les classes suivantes :
>
> class TheOff
> {
> public :
> CString OName;
> };
>
> class TheDem
> {
> public :
> CString DName;
> };
>
>
>
> class Sav
> {
> public :
> long IDSav;
> CString name;
> TheOff lof;
> TheDem led;
> };
>
> Pour créer un objet Sav, je fais :
>
> mysav = new Sav;
>
> Pour détruire un objet Sav, je fais :
>
> delete mysav;
Est-ce bien nécessaire dans ton cas de faire une allocation dynamique.
Tu ne pourrais pas créer directement l'objet sur la pile ?
Sav mysav;
> Or, dans une fonction où je détruis beaucoup d'objets de type Sav, j'ai
un
> plantage avec le message suivant :
>
> Sav::`scalar deleting destructor'(unsigned int 1) + 37 bytes
>
> Et je ne comprends pas le sens de ce message ...
Montres nous le code de la fonction en question.
Merci pour les réponses. J'ai réglé le problème : cela venait du fait que je supprimais (avec delete) un objet qui n'existait plus ... Un grand classique, quoi ! :-)
-- -------------------- "Pour une fusillade qui est mortelle, il y en a environ trois sans mort d'homme. Et, mes amis, cela est inacceptable en Amérique. C'est totalement inacceptable. Et nous devons agir."-Georges W. Bush - Philadelphie, Mai 14, 2001 "Arnaud Debaene" a écrit dans le message news:
"Bruno.Barral" ***adoo.fr> wrote in message
news:<bvjhfi$kt0$...
> Bonjour, > > J'ai développé une application en VC++ 6.0 avec les MFC sous Windows ME, > mais qui fonctionne sous n'importe quel Windows 9x et supérieurs. > > J'ai créé les classes suivantes : > > class TheOff > { > public : > CString OName; > }; > > class TheDem > { > public : > CString DName; > }; > > > > class Sav > { > public : > long IDSav; > CString name; > TheOff lof; > TheDem led; > }; > > Pour créer un objet Sav, je fais : > > mysav = new Sav; > > Pour détruire un objet Sav, je fais : > > delete mysav;
Est-ce bien nécessaire dans ton cas de faire une allocation dynamique. Tu ne pourrais pas créer directement l'objet sur la pile ? Sav mysav;
> Or, dans une fonction où je détruis beaucoup d'objets de type Sav, j'ai
un
> plantage avec le message suivant : > > Sav::`scalar deleting destructor'(unsigned int 1) + 37 bytes > > Et je ne comprends pas le sens de ce message ... Montres nous le code de la fonction en question.