Pb Initialisation avec typedef

Résolu
acejm2
Messages postés
8
Date d'inscription
lundi 27 décembre 2004
Statut
Membre
Dernière intervention
30 août 2006
- 27 janv. 2006 à 13:40
BruNews
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
- 27 janv. 2006 à 15:15
Bjr à tous

Voila mon pb: Qd j'essaie de compiler le programme ca marche jusqu'au moment où le programme entre dans la fonction TFichePrincipale::TFichePrincipale (qui est appelée dès le début). Du coup j'ai le droit à un EAccessViolation et le programme n'arrive donc pas à se lancer! Comment dois-je procéder pour initialiser??

ci-joint, le début de mon prog, où la variable globale est défini ainsi que la fameuse fonction:


<HR>

TFichePrincipale *FichePrincipale;


typedef enum {Constante, Variable, Binaire, Fonction} TNature;


typedef struct NoeudSynt{
TNature Nature;
double ValConst;
char OperOuFct;
struct NoeudSynt *fg,*fd;
}
TNoeudSynt, *TArbreSynt;


typedef struct{
TArbreSynt Fct;
TArbreSynt Deriv;} TCourbe;


typedef struct{
TCourbe * CourbeNum[200];
int *NbCourbes;} TEnsembleCourbes;


TEnsembleCourbes *EnsembleCourbes;


//---------------------------------------------------------------------------


__fastcall TFichePrincipale::TFichePrincipale(TComponent* Owner) : TForm(Owner)
{

*(EnsembleCourbes->NbCourbes) = 0;


}


<HR>


MERCI ENORMEMENT !!!

6 réponses

BruNews
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
26
27 janv. 2006 à 15:15
Regarde les exemples de listes chainées en source sur ce site, il y en a des tas.

ciao...
http://dev.winsysdev.com
BruNews, MVP VC++
3
BruNews
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
26
27 janv. 2006 à 13:50
EnsembleCourbes est un pointeur non alloué qui ne pointe donc nulle part.

ciao...
http://dev.winsysdev.com
BruNews, MVP VC++
0
acejm2
Messages postés
8
Date d'inscription
lundi 27 décembre 2004
Statut
Membre
Dernière intervention
30 août 2006

27 janv. 2006 à 13:51
Merci de ta réponse très rapide!
J'ai remplacé

TEnsembleCourbes *EnsembleCourbes;

par

TEnsembleCourbes * EnsembleCourbes = (TEnsembleCourbes *) MonMalloc(sizeof (TEnsembleCourbes));

mais le pb reste le mm..
0
acejm2
Messages postés
8
Date d'inscription
lundi 27 décembre 2004
Statut
Membre
Dernière intervention
30 août 2006

27 janv. 2006 à 13:52
Je précise juste qu'ici MonMalloc a exactement la même fonction que malloc..
0

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

Posez votre question
BruNews
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
26
27 janv. 2006 à 14:12
Le problème est identique pour les membres car tu y a mis des pointeurs.
Pourquoi des pointeurs ???

ciao...
http://dev.winsysdev.com
BruNews, MVP VC++
0
acejm2
Messages postés
8
Date d'inscription
lundi 27 décembre 2004
Statut
Membre
Dernière intervention
30 août 2006

27 janv. 2006 à 14:32
Ben je les modifie après.. enfin j'avoue les pointeurs c'est vraiment pas mon fort... comment dois-je allouer mon typedef??
0