IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

un booléen qui a une valeur numerique?!?


Sujet :

C++

  1. #1
    Membre éclairé Avatar de hansaplast
    Homme Profil pro
    Artisant logiciel
    Inscrit en
    Septembre 2005
    Messages
    948
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Artisant logiciel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 948
    Points : 719
    Points
    719
    Par défaut un booléen qui a une valeur numerique?!?
    bonjours, je galere depuis un pitit moment sur une erreure de segmentation.
    j'ai un objet contenant un booléen.
    dans le constructeur, il se voit attribuer la valeur false.
    j'ai un accesseur me renvoyant sa valeure
    bien entendu, avant que le consstrcteur soit appelé, utiliser l'accesseur genererait une erreure de segmentation.

    dans mon appli j'ai donc mis un petit mecanisme de verification, afon de ne pas faire une demande inoprtune.

    depuis peu, apres un remaniement du code, j'ai une rreure de segmentation lors de l'appel de l'accesseur.

    apre un petit passage par le debuggeur, mon booléen, lorsque je demande sa valeur (et cette demande me genere une erreure de segementation), possede une valeur...
    cette valeur est : 246 ^^


    une fois que mon bool est renvoyé par l'accesseur, j'ai une erreure de segmentation :'(

    dev-cpp venant d eplanter :'(
    je reboot, et je met un fragment de code :'(

  2. #2
    Membre éclairé Avatar de hansaplast
    Homme Profil pro
    Artisant logiciel
    Inscrit en
    Septembre 2005
    Messages
    948
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Artisant logiciel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 948
    Points : 719
    Points
    719
    Par défaut
    voici donc le code qui me pose pb :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    bool mySocketClient::getState() {
    	     return connexionValidee;	 //==> valeur : 246 ^^
    }
    mon constructeur est le suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    mySocketClient::mySocketClient(int port,int id_event,wxString IP,  wxEvtHandler &eventHandler)
    {
    ...
           connexionValidee = false; //la connexion n'est pas encore validée
    ...
    }
    mon appel a cette fonction est ici:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    void myScrolled::OnMouseChange(wxMouseEvent& eventMouse)
    {
    //on ne gere les cliques que quand on est en mode client, et que les connexion sont validées
     
    	if ( modeClientActif ) {  
    		if ( socketKbdCli->getState() &  socketImgCli->getState() ) {
    			objMouse->getMouseClick(eventMouse, socketKbdCli, this);
    		}
        } 
     
     
    }
    je verifie donc avec un autre booléen, si je peut lire celui ci.

    ce booléen est passé a faux dans le contructeur de ma classe mere, et a vrai apres que mon objet "mySocketClient" ait ete instacié.

    donc, normalement, je ne peut pas lite le booléen me posant pb sans que celui ci soit instancié.
    lorsque je verifie ca au debuggeur, c'est bien le cas, mes socket fonctionnent deja, et j'ai un plantage apres.

    auriez vous un indice?
    est-ce que je pointe vers un mauvais emplacement memoire?

  3. #3
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    Très bizarre ton truc! Si tu avais 0 ou 1 lors de l'affichage, ça irait, mais là, c'est déjà pas normal. Ensuite, c'est un membre de ta classe, donc il doit être mis dans les initialisations de la classe, avant l'appel au contructeur, afin qu'il ait une valeur claire lors de la création de l'instance.

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    68
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 68
    Points : 46
    Points
    46
    Par défaut
    Ca n'a rien a voir avec ton probléme mais dans ton deuxieme if, il y a pas une faute???
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if ( socketKbdCli->getState() &  socketImgCli->getState() )
    Ca serait pas plutot :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if ( socketKbdCli->getState() &&  socketImgCli->getState() )

  5. #5
    Membre éclairé Avatar de hansaplast
    Homme Profil pro
    Artisant logiciel
    Inscrit en
    Septembre 2005
    Messages
    948
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Artisant logiciel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 948
    Points : 719
    Points
    719
    Par défaut
    @Bebert71 : merci j'ai corrigé


    Citation Envoyé par Miles
    Très bizarre ton truc! Si tu avais 0 ou 1 lors de l'affichage, ça irait, mais là, c'est déjà pas normal. Ensuite, c'est un membre de ta classe, donc il doit être mis dans les initialisations de la classe, avant l'appel au contructeur, afin qu'il ait une valeur claire lors de la création de l'instance.
    comment je fait ca?
    j'a essayé (un peu au hasard) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    mySocketClient::mySocketClient(int port,int id_event,wxString IP,  wxEvtHandler &eventHandler),connexionValidee(false)
    {
    ...
    }
    mais ca marche pas :'(

  6. #6
    b4u
    b4u est déconnecté
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 87
    Points : 64
    Points
    64
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    mySocketClient::mySocketClient(int port,int id_event,wxString IP,  wxEvtHandler &eventHandler) : connexionValidee(false)
    {
    ...
    }
    non?

  7. #7
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    Regarde dans la !

  8. #8
    Membre éclairé Avatar de hansaplast
    Homme Profil pro
    Artisant logiciel
    Inscrit en
    Septembre 2005
    Messages
    948
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Artisant logiciel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 948
    Points : 719
    Points
    719
    Par défaut

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 13/02/2007, 09h54
  2. [debutant] fonction qui retourne une valeur
    Par arnolpourri dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 15/06/2006, 09h29
  3. Réponses: 2
    Dernier message: 04/04/2006, 08h37
  4. Une Form qui retourne une valeur?
    Par say dans le forum C++Builder
    Réponses: 4
    Dernier message: 06/02/2006, 10h05
  5. avoir un champ avec une valeur numerique qui se decremente
    Par romeo9423 dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 15/02/2005, 14h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo