[wxWidgets\C++] Erreurs compilation de classe héritant de wxBoxSizer [Résolu]

Signaler
Messages postés
64
Date d'inscription
mardi 21 juin 2005
Statut
Membre
Dernière intervention
5 avril 2007
-
Messages postés
64
Date d'inscription
mardi 21 juin 2005
Statut
Membre
Dernière intervention
5 avril 2007
-
Bonjour a tous.

Alors voilà je crée ma propre classe qui hérite de wxBoxSizer. Voici le code du .h:



#ifndef MySizer

#define MySizer



#include "wx/wxprec.h"

#ifndef WX_PRECOMP

#include "wx/wx.h"

#endif





class MySizer:public wxBoxSizer

{

private:

wxStaticText * libelle;

wxTextCtrl * champ;



public:

//Contructeur et Destructeur

MySizer();

MySizer(wxWindow * parent,int sens,wxString textLibel);

MySizer(wxWindow * parent,int sens,bool edit,wxString textLibel);

MySizer(wxWindow * parent,int sens,wxString textLibel,wxString textChamp);

MySizer(wxWindow * parent,int sens,bool edit,wxString textLibel,wxString textChamp);

~MySizer();



//Accesseurs

wxStaticText * getLibelle();

wxTextCtrl * getChamp();



//Modificateurs

void setLibelle(wxString lib);

void setChamp(wxString cha);

};

#endif





Mais à la compilation j'obtiens ça:



d:\developpement\myprojects\graphap\mysizer.h(18) : error C2059: syntax error : ')'

d:\developpement\myprojects\graphap\mysizer.h(18) : error C2238: unexpected token(s) preceding ';'

d:\developpement\myprojects\graphap\mysizer.h(19) : error C2226: syntax error : unexpected type 'wxWindow'

d:\developpement\myprojects\graphap\mysizer.h(19) : error C2238: unexpected token(s) preceding ';'

d:\developpement\myprojects\graphap\mysizer.h(20) : error C2226: syntax error : unexpected type 'wxWindow'

d:\developpement\myprojects\graphap\mysizer.h(20) : error C2238: unexpected token(s) preceding ';'

d:\developpement\myprojects\graphap\mysizer.h(21) : error C2226: syntax error : unexpected type 'wxWindow'

d:\developpement\myprojects\graphap\mysizer.h(21) : error C2238: unexpected token(s) preceding ';'

d:\developpement\myprojects\graphap\mysizer.h(22) : error C2226: syntax error : unexpected type 'wxWindow'

d:\developpement\myprojects\graphap\mysizer.h(22) : error C2238: unexpected token(s) preceding ';'

d:\developpement\myprojects\graphap\mysizer.h(23) : error C2059: syntax error : '('

d:\developpement\myprojects\graphap\mysizer.h(23) : error C2238: unexpected token(s) preceding ';'

d:\developpement\myprojects\graphap\mysizer.h(32) : error C2627: member function defined in unnamed class

d:\developpement\myprojects\graphap\mysizer.h(32) : warning C4094: untagged 'class' declared no symbols

MySizer.cpp

d:\developpement\myprojects\graphap\mysizer.h(18) : error C2059: syntax error : ')'

d:\developpement\myprojects\graphap\mysizer.h(18) : error C2238: unexpected token(s) preceding ';'

d:\developpement\myprojects\graphap\mysizer.h(19) : error C2226: syntax error : unexpected type 'wxWindow'

d:\developpement\myprojects\graphap\mysizer.h(19) : error C2238: unexpected token(s) preceding ';'

d:\developpement\myprojects\graphap\mysizer.h(20) : error C2226: syntax error : unexpected type 'wxWindow'

d:\developpement\myprojects\graphap\mysizer.h(20) : error C2238: unexpected token(s) preceding ';'

d:\developpement\myprojects\graphap\mysizer.h(21) : error C2226: syntax error : unexpected type 'wxWindow'

d:\developpement\myprojects\graphap\mysizer.h(21) : error C2238: unexpected token(s) preceding ';'

d:\developpement\myprojects\graphap\mysizer.h(22) : error C2226: syntax error : unexpected type 'wxWindow'

d:\developpement\myprojects\graphap\mysizer.h(22) : error C2238: unexpected token(s) preceding ';'

d:\developpement\myprojects\graphap\mysizer.h(23) : error C2059: syntax error : '('

d:\developpement\myprojects\graphap\mysizer.h(23) : error C2238: unexpected token(s) preceding ';'

d:\developpement\myprojects\graphap\mysizer.h(32) : error C2627: member function defined in unnamed class

d:\developpement\myprojects\graphap\mysizer.h(32) : warning C4094: untagged 'class' declared no symbols



Plus d'autres dans le cpp bien évidement liées à celle ci.

Quelqu'un aurait une petite idée d'où ça pourrait provenir?

5 réponses

Messages postés
154
Date d'inscription
dimanche 1 avril 2001
Statut
Membre
Dernière intervention
2 octobre 2009

Je vais peut être dire une connerie, mais tu utilises la même valeur
pour le #define au début du fichier .h et pour le nom de ta classe.

Je ne sais pas si ça vient de là, mais ça ne me paraît pas terrible.

remplace déjà le début par:

#ifndef MYSIZER_H

#define MYSIZER_H
Messages postés
547
Date d'inscription
mercredi 8 janvier 2003
Statut
Membre
Dernière intervention
7 octobre 2007
1
Bonjour,



Quel compilateur utilises-tu?

Quel est le début de ton fichier .cpp?



A+



FredCL
Messages postés
64
Date d'inscription
mardi 21 juin 2005
Statut
Membre
Dernière intervention
5 avril 2007

J'utilise visual c++ 6.

Mon fichier cpp commence par #include "MySizer.h"

Et ensuite j'implément le corps des fonctions voilà.
Messages postés
547
Date d'inscription
mercredi 8 janvier 2003
Statut
Membre
Dernière intervention
7 octobre 2007
1
Désolé, peut pas t'aider j'utilise GCC
Messages postés
64
Date d'inscription
mardi 21 juin 2005
Statut
Membre
Dernière intervention
5 avril 2007

Et bien tu as plus que raison!

Maintenant je ferai gaffe. L'erreur venait bien de là!!

Merci!!!!!!