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

wxWidgets Discussion :

Vecteurs


Sujet :

wxWidgets

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 115
    Points : 62
    Points
    62
    Par défaut Vecteurs
    bonjour, je n'arrive pas à résoudre un problème concernant un vecteur utilisant wxWidgets,
    j'ai un vecteur dans lequel se trouve des triangles (coordonnées, couleur), deplus dans une boite de dialogue, concernant les propriétés des triangle, je n'arrive pas à supprimer un triangle en récuperant son numéro grâce à un GetSelection() sur un
    wxListBox *LBox_triangle, lorsque je veut supprimer un triangle, il ya une erreur de segmentation, (car j'essaye de supprimer un triangle qui est déjà supprimer?), je ne sais pas si ma condition est mauvais dans le code ou pas.

    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
     
    void GestionTriangleDialog::delTriangle( wxCommandEvent& event )
    {
    	unsigned int item;
    	unsigned int size = ( (CMainFrame*)GetParent() )->getTabTri().size();
    	item = LBox_triangle->GetSelection();
     
    	if(item >= 0 && item < size)
    	{
    		( (CMainFrame*)GetParent() )->getTabTri().erase( ((CMainFrame*)GetParent())->getTabTri().begin() + item );
    		LBox_triangle->Delete( item );
    		((CMainFrame*)GetParent())->Refresh();
    	}
     
    }
    voici ce que me donne gdb :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    Program received signal SIGSEGV, Segmentation fault.
    0x008a0faa in wxObject::Ref(wxObject const&) () from /usr/lib/libwx_baseu-2.8.so.0
    (gdb) bt
    #0  0x008a0faa in wxObject::Ref(wxObject const&) () from /usr/lib/libwx_baseu-2.8.so.0
    #1  0x08056bb8 in wxObject::operator=(wxObject const&) ()
    #2  0x0805755c in wxGDIObject::operator=(wxGDIObject const&) ()
    #3  0x0805757a in wxColourBase::operator=(wxColourBase const&) ()
    #4  0x08057598 in wxColour::operator=(wxColour const&) ()
    #5  0x08057e4e in Triangle::operator=(Triangle const&) ()
    #6  0x08058c1f in Triangle* std::__copy_move<false, false, std::random_access_iterator_tag>::__copy_m<Triangle*, Triangle*>(Triangle*, Triangle*, Triangle*) ()
    #7  0x08058a69 in Triangle* std::__copy_move_a<false, Triangle*, Triangle*>(Triangle*, Triangle*, Triangle*)
        ()
    #8  0x0805f432 in __gnu_cxx::__normal_iterator<Triangle*, std::vector<Triangle, std::allocator<Triangle> > > std::__copy_move_a2<false, __gnu_cxx::__normal_iterator<Triangle*, std::vector<Triangle, std::allocator<Triangle>
    Merci de votre compréhension.

  2. #2
    Futur Membre du Club
    Homme Profil pro
    administrateur Unix
    Inscrit en
    Août 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : administrateur Unix

    Informations forums :
    Inscription : Août 2011
    Messages : 6
    Points : 8
    Points
    8
    Par défaut
    Bonjour,

    Vu que je ne suis pas une bête en gdb && c++, j'ai du mal à voir, à partir de la trace, sur quelle ligne il plante...

    En tout cas, je ne vois pas de problème dans ton code; ça m'a l'air bon.

    Quand je tombe sur un crash de ce genre, je commence d'abord par m'assurer que je suis bien là où je le pense. En d'autres termes, je commencerais par afficher la valeur de LBox_triangle->GetCount(), histoire d'être sûr que je pointe bien vers la bonne listbox.

    A+
    Buzz

  3. #3
    Membre averti Avatar de wxXav
    Homme Profil pro
    Développeur amateur
    Inscrit en
    Décembre 2008
    Messages
    214
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur amateur

    Informations forums :
    Inscription : Décembre 2008
    Messages : 214
    Points : 354
    Points
    354
    Par défaut
    Hello

    Citation Envoyé par Buzz57 Voir le message
    Vu que je ne suis pas une bête en gdb && c++, j'ai du mal à voir, à partir de la trace, sur quelle ligne il plante...
    Pas mieux

    Par contre, tu peux de ton côté placer des breakpoints afin de trouver la ligne exacte qui fait planter l'application.

    @+
    Xav'

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 115
    Points : 62
    Points
    62
    Par défaut
    mon problème est résolu, il fallait que je fasse un getter et un setteur sur mon vecteur...

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

Discussions similaires

  1. Utilisation des vecteurs
    Par EmilieG dans le forum MFC
    Réponses: 12
    Dernier message: 19/03/2004, 17h28
  2. [math] somme de plusieurs vecteurs à 3 dimensions
    Par teska dans le forum Mathématiques
    Réponses: 5
    Dernier message: 04/06/2003, 22h40
  3. Récuperer les coordonnées d'un vecteur
    Par kerzut dans le forum OpenGL
    Réponses: 5
    Dernier message: 15/04/2003, 12h51
  4. Zoom sur des vecteurs ou lignes
    Par mat.M dans le forum Algorithmes et structures de données
    Réponses: 7
    Dernier message: 25/11/2002, 11h40
  5. matrices * vecteur
    Par delire8 dans le forum Algorithmes et structures de données
    Réponses: 15
    Dernier message: 07/09/2002, 15h15

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