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 :

[SIGSEGV] Segmentation fault sur un attribut non null.


Sujet :

C++

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2014
    Messages : 4
    Points : 3
    Points
    3
    Par défaut [SIGSEGV] Segmentation fault sur un attribut non null.
    Bonjour,
    ça fait un petit moment que j'ai un problème au niveau d'un setLayout qui m'indique une segmentation fault, alors que juste avant de faire le setLayout je teste une méthode sur mon attribut et qui fonctionne bien, voici le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    ...
    void DialogImage::rafraichir(SujetDObservation *sdo){
        if(sdo != sujet) return;
        viderListe();
        for(int i=0;i<sujet->getSize();i++){
            for(int j=0;j<sujet->getSize();j++){
                Position pos{i,j};
                Piece a =sujet->getPiece(pos);
                if(a.isEmpty())
                    tabButton.push_back(new QPushButton(""));
                else
                    tabButton.push_back(new QPushButton());
                grid->addWidget(tabButton[tabButton.size()-1],i,j);
                connect(tabButton[tabButton.size()-1],SIGNAL(clicked()),mapper,SLOT(map()));
                mapper->setMapping(tabButton[tabButton.size()-1],grid->count()-1);
            }
        }
     
        cout<<"taille grille "<<endl<<grid->count()<<endl;
        ui->widget->setLayout(grid);
    }
    ...
    Voilà, si ça suffit pas j'ai joint les 2 fichiers.
    Fichiers attachés Fichiers attachés

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 130
    Points : 33 063
    Points
    33 063
    Billets dans le blog
    4
    Par défaut
    Bonsoir,

    tu sais que pour récupérer le dernier élément vector possède la fonction back() ?

    Sur le reste, le NULL n'est pas la seule cause d'un segfault. Un élément déjà delete aussi (entre autre).

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2014
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    ha merci, je me doutais qu'il y avait une méthode comme ça pour le vector, ce sera plus facile ainsi, mais ce que je comprends pas en fait, c'est comment le gridLayout aurait pu être détruit entre temps si je viens à peine de le remplir juste avant, et que je puisse aussi utilisé une méthode dessus, c'est pas normal non ?

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 130
    Points : 33 063
    Points
    33 063
    Billets dans le blog
    4
    Par défaut
    Qu'est-ce qui te fait croire que c'est grid qui est pas bon ? Si le cout passe, grid a de très fortes chances d'être correct.
    Y'a plusieurs variables, et on ne sait pas d'où elles sortent.
    Un debuger te donnera plus d'infos.

Discussions similaires

  1. Segmentation fault sur mon serveur
    Par zoullou dans le forum Administration système
    Réponses: 2
    Dernier message: 06/04/2007, 10h17
  2. Segmentation fault sur script PHP
    Par zoullou dans le forum Langage
    Réponses: 1
    Dernier message: 03/04/2007, 09h32
  3. Segmentation fault sur new[] et delete[]
    Par Don ViP dans le forum C++
    Réponses: 4
    Dernier message: 30/04/2006, 00h29
  4. Segmentation Fault sur un fclose
    Par Beush dans le forum C
    Réponses: 9
    Dernier message: 30/11/2005, 19h30
  5. Segmentation fault sur un gethostbyname ?
    Par Mitox dans le forum Réseau
    Réponses: 9
    Dernier message: 25/11/2005, 16h17

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