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 :

cout : imprimer un pointeur


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Février 2009
    Messages
    141
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 141
    Par défaut cout : imprimer un pointeur
    Bonjour!

    J'ai une erreur et je ne sais pas d'où elle provient:

    J'ai une classe fille qui me retoure une map<string, float> de nom Valeurdsmap.

    Jusqu'ici, pas de problèmes.

    Dans la classe mère (Classmere), j'ai la méthode ci dessous :
    Cette methode est un get et je recopie ma map que je place en reference
    Jusque la toujours pas de pb.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    bool Error::get(map<string, float>*& retValeurdsmap)
    {
    	retValeurdsmap = this->Valeurdsmap;
    	return true;
    }
    Dans une autre classe j'ai une méthode qui me permet de récupérer la map de ma classe mère. Visiblement tout fonctionne mais qd je veux imprimer la taille de ma map pour voir si elle est bien remplie, le programme crash.

    Donc la ligne cout<<test->size(); pose problème;
    Je pense que je dois dereferencer pour renvoyer ce qu'il y a derriere le pointeur mais cela ne fonctionne pas non plus.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
     
    bool Local::Allocation(Classmere* myObject)
    {  
    	map<string, float>* test;
    	myObject->get(test);// pqs de probleme, 
    VS me donne  automatiquement la méthode.
    	test->size();
    	cout<<"test2"<<endl;
    	cout<<test->size();
     
    return true;
    }
    Merci de vos r2ponses

  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,
    Tout simplement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    //T*p
    std::cout<<p<<std::endl;

  3. #3
    Membre confirmé
    Inscrit en
    Février 2009
    Messages
    141
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 141
    Par défaut
    Salut 3D Archi
    je ne sais pas si tu as lu mon post, ce n'est pas si simple.
    Je pense donc que le post était au bon endroit.
    I y a un pb de référencement ou de passage de la fonction.

  4. #4
    Membre confirmé
    Inscrit en
    Février 2009
    Messages
    141
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 141
    Par défaut
    Salut white_tentacle,
    oui le problème est effectivement la, je pense que je recopie mal en fait dans mon get.
    Comment je peux faire? As tu une idee?
    Je compile effectivement en mode release, bien vu
    Je pense en fait qu'il faut que je fasse un classe abstraite.
    Merci

  5. #5
    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
    Vu l'intitulé, je pensais que tu voulais simplement sortir l'adresse.
    Vérifie que myObject est valide (!=NULL?).

  6. #6
    Membre confirmé
    Inscrit en
    Février 2009
    Messages
    141
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 141
    Par défaut
    Oui, l'intitule du titre est mal trouve. Mes excuses.
    Je n'arrive tjs pas a recopier cette map même en faisant une classe abstraite. Si tu pouvais d'ailleurs remettre le post au bon endroit SVP.

  7. #7
    Membre Expert
    Avatar de white_tentacle
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    1 505
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 1 505
    Par défaut
    Attention, tu ne recopies pas la map, tu fais juste pointer test dessus (dans get).

    Le code que tu montres me semble correct, donc je pense que ton pointeur est déjà corrompu dans ton objet Error.

    Quand tu appelles size(), ça plante. Si ça ne plante pas au premier, c'est je pense parce que le compilo vire la ligne inutile (compilation en release).

Discussions similaires

  1. Imprimer un pointeur (un adresse)
    Par coolas dans le forum Langage
    Réponses: 4
    Dernier message: 29/04/2008, 11h33
  2. [Imprimer]Erreur pointeur null
    Par philippe13 dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 04/09/2006, 21h44
  3. djgpp et pointeurs far -2
    Par elvivo dans le forum Autres éditeurs
    Réponses: 16
    Dernier message: 29/07/2002, 22h43
  4. djgpp et pointeurs far
    Par elvivo dans le forum C
    Réponses: 2
    Dernier message: 13/07/2002, 00h44
  5. Comment imprimer le contenu d'un TStringGrid
    Par scorpiwolf dans le forum C++Builder
    Réponses: 2
    Dernier message: 19/06/2002, 15h41

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