(bool) probléme avec une variable bool

Xilofeon Messages postés 55 Date d'inscription mercredi 24 décembre 2003 Statut Membre Dernière intervention 14 avril 2007 - 19 mars 2004 à 15:45
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 - 23 mars 2004 à 14:27
Salut a tous
question d'un débutant confirmé lol !!!

alors voila j'ai une variable bool a utilisé dans plusieur fonction dont 1 void dans le fichier .cpp (décléré en static dans le .h) et une fonction LRESULT dans le fichier .h

bon alors la je me suis dit je déclare la varaible bool dans le fichier .h

comme sa ke je fait pour être sur:
bool mavariable;

alors erreur a la compilation kan j'utilise la variable dans la fontion void du fichier .cpp. (erreur : la variable n'est pas déclaré).

Bon alors la je me dit vu ke la fonction void et static je vais passé ma varaible en static je la déclare comme suis toujours dans le .h

static bool mavariable;

alors aucunne errreur de compilation sauf a l'édition des liens
(erreur LNK2001 et LNK1120).

alors j'ai pu trop d'idée.

j'ai fait cour et j'ai pas mi de source mais si vous voulé le code ou d'autre info dite le moi.

bon alors j'ai du mal mi prendre pour déclaré cette variable soi y'a un truc a ajouté dans c'est ka la.
Je pense ke c'est une petit erreur de débutant.

Merci a tout seu ki prenderon la peine de me repondre

8 réponses

cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
19 mars 2004 à 16:13
met pas en static et declare en extern la ou elle est inconnu (de maniere generale) sinon g pas trop compris ton bric a brac :D
0
Xilofeon Messages postés 55 Date d'inscription mercredi 24 décembre 2003 Statut Membre Dernière intervention 14 avril 2007
19 mars 2004 à 16:39
Vi j'ai du mal a m'expliké alors voila je vais vous donné le bout de code.

Alors dans le fichier PrivateFrame.cpp
#include "PrivateFrame.h"
[...]
void PrivateFrame::gotMessage(const User::Ptr& aUser, const string& aMessage) {
PrivateFrame* p = NULL;
[...]
if (BOOLSETTING(PRIVATE_MESSAGE_BEEP) && sonActif) {

[...]

}
}



voila pour le fichier .cpp
maintenant dans le fichier PrivateFrame.h
class PrivateFrame : public MDITabChildWindowImpl,
{
public:
static void gotMessage(const User::Ptr& aUser, const string& aMessage);

[...]

LRESULT onSonActif(UINT /*uMsg*/, WPARAM wParam, LPARAM /*lParam*/, BOOL& bHandled)  {
        bHandled = FALSE;        sonActif (wParam BST_CHECKED);
return 0;
    }

[...]

private:

[...]

~PrivateFrame() {
}

static bool  sonActif;


Alors voila j'aimerai svoir ou et comment je doit déclaré sonActif

Encore merci a seut ki pouront me repondre j'espére avoir été assez kler cette fois si.
0
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
19 mars 2004 à 16:51
bool sonActif;
0
Elyro Messages postés 1 Date d'inscription vendredi 19 mars 2004 Statut Membre Dernière intervention 19 mars 2004
19 mars 2004 à 16:56
Salut à toi,

je suis ok avec djl, essaies la déclaration en extern là ou tu dois utiliser ta variable.


Whaou, il m'en reste encore beaucoup à apprendre !
0

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

Posez votre question
Xilofeon Messages postés 55 Date d'inscription mercredi 24 décembre 2003 Statut Membre Dernière intervention 14 avril 2007
19 mars 2004 à 18:12
Merci a tous en effet avec extern la ou il faut sa marche mais
truc bizarre si je déclare ma variable dans le fichier .h sa me génére des erreur LNK2001.
sinon déclaré tout au debut du fichier .cpp aucun prob.

Allez merci a tous et une prochaine
0
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
19 mars 2004 à 18:52
le probleme c'est que en static la porte de ta variable se borne au fichier
d'ailleur pourquoi cete variable n'est elle pas membre de la classe?
0
lpikachu58 Messages postés 351 Date d'inscription samedi 2 février 2002 Statut Membre Dernière intervention 6 mai 2004 2
23 mars 2004 à 14:16
il est un peu écrit comme un porc ton code car tu ne peux pas le porter

be linux
0
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
23 mars 2004 à 14:27
de toute facon c'est du win32
0
Rejoignez-nous