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 :

Exception lancée sans raisons apparentes


Sujet :

C++

  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2009
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2009
    Messages : 29
    Par défaut Exception lancée sans raisons apparentes
    Salut tout le monde,

    Lorsque j'appelle une méthode (je poste le code correspondant par la suite), visual studio m'envoie une exception (Violation d'accès lors de l'écriture à l'emplacement 0xcdcdcdd5), mais je ne parviens vraiment pas à comprendre pourquoi :/

    L'appel qui fait que ça casse tout
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    _stateManager->setRightHandState(tracking);
    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
     
    #include "StateManager.hpp"
     
    StateManager::StateManager(void) 
    {
    	_leftHandState = no_fingers;
    	_rightHandState = no_fingers;
     
    }
    StateManager::~StateManager(void) {}
     
    void StateManager::setLeftHandState(const FingerState state)
    {
    	_leftHandState = state;
    }
     
    // La méthode qui fait tout péter
    void StateManager::setRightHandState(const FingerState state)
    {
    	_rightHandState = state;
    }
     
    FingerState StateManager::getLeftHandState() const
    {
    	return _leftHandState;
    }
     
    FingerState StateManager::getRightHandState() const
    {
    	return _rightHandState;
    }
     
    void StateManager::act() const
    {
    }
    StateManager.hpp :
    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
    23
    24
    25
    26
    27
    28
    29
    30
     
    #ifndef STATEMANAGER_HPP_INCLUDED
    #define STATEMANAGER_HPP_INCLUDED
     
    #include "Singleton.hpp"
    #include "FingerState.hpp"
     
    class StateManager :
    	public Singleton<StateManager>
    {
    	friend class Singleton<StateManager>;
     
    private:
    	StateManager(void);
    	virtual ~StateManager(void);
     
    public:
    	void setLeftHandState(const FingerState state);
    	void setRightHandState(const FingerState state);
    	FingerState getLeftHandState() const;
    	FingerState getRightHandState() const;
     
    	void act() const;
     
    protected:
    	FingerState _leftHandState;
    	FingerState _rightHandState;
    };
     
    #endif // STATEMANAGER_HPP_INCLUDED
    FingerState.hpp
    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
     
    #ifndef FINGERSTATE_HPP_INCLUDED
    #define FINGERSTATE_HPP_INCLUDED
     
    enum FingerState 
    {
    	// Both 
    	no_fingers,
     
    	// Right Hand
    	tracking,
    	zooming,
    	shooting,				
    	scrolling,	
    	zoomShooting,
     
    	// Left Hand
    	moving
    };
     
    #endif // FINGERSTATE_HPP_INCLUDED
    Singleton.hpp
    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
     
    #ifndef SINGLETON_HPP_INCLUDED
    #define SINGLETON_HPP_INCLUDED
     
    #include <stdlib.h>
     
    template <typename T>
    class Singleton
    {
    protected:
    	// Constructeur/destructeur
    	Singleton () { }
    	~Singleton () { }
     
    public:
    	// Interface publique
    	static T *getInstance ()
    	{
    		if (NULL == _singleton)
    		{
    			_singleton = new T;
    		}
    		return (static_cast<T*> (_singleton));
    	}
     
    	static void kill ()
    	{
    		if (NULL != _singleton)
    		{
    			delete _singleton;
    			_singleton = NULL;
    		}
    	}
     
    private:
    	// Unique instance
    	static T *_singleton;
    };
     
    template <typename T>
    T *Singleton<T>::_singleton = NULL;
     
    #endif // SINGLETON_HPP_INCLUDED
    Voila, si vous avez quelques pistes je suis preneur !
    Merci d'avance

    Zouch-K

  2. #2
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par défaut
    Salut,
    Citation Envoyé par Zouch-K Voir le message
    Voila, si vous avez quelques pistes je suis preneur !
    A priori, je dirais que _stateManager pointe sur une adresse incorrecte.

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2009
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2009
    Messages : 29
    Par défaut
    bon j'ai mis le statemanager dans le corps de la méthode appelante, a priori ça passe.

    merci pour le tuyau 3Darchi

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

Discussions similaires

  1. [D7] [Paradox] Application fermée par XP pro SP2 sans raison apparente
    Par plante20100 dans le forum Bases de données
    Réponses: 9
    Dernier message: 13/09/2007, 12h06
  2. Réponses: 1
    Dernier message: 26/07/2007, 16h30
  3. [Access 2000] Plantages sans raisons apparentes
    Par 973thom dans le forum Access
    Réponses: 2
    Dernier message: 09/07/2007, 10h04
  4. Réponses: 2
    Dernier message: 17/01/2007, 19h23
  5. Page s'exécutant sans raison apparente
    Par j_bolduc dans le forum ASP
    Réponses: 4
    Dernier message: 23/02/2006, 15h33

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