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

SL & STL C++ Discussion :

map dans un header


Sujet :

SL & STL C++

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 31
    Par défaut map dans un header
    Bonjour,

    Je viens de créer une classe comportant un certain nombre de maps

    Il semblerai que le compilo n'aime pas réellement que celles ci soient déclarées dans le .h
    Par exemple les lignes de codes suivantes ne compilent pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    string
    Data::getStat(int chan) const { 
    	string ret;
    	//map<int,float> _wrongGreenWormsPercent;
    	map<int,float>::iterator iter;
    	int first;
    	float second;
    	for( iter = _wrongGreenWormsPercent.begin(); iter != _wrongGreenWormsPercent.end(); iter++ ) {
    		first=iter->first;
    		second=iter->second;
    		ret+=constructionS(first, second);
    	}
    }
    le header ressemble à ça :

    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
     
    class Data {
     
    	private :
            [...]
    	/* statistic atributes */
    	map<int,float> _wrongGreenWormsPercent; /* key  : worm size, 
    	                                         * data : percent of worms which have none waited value
    	                                         */
    	[...]
            public:
            [...]
    	string getStat(int chan) const;
            [...]
    };
    Par contre quand je décommente la déclaration de la map dans la fonction getStat ça compile...
    Est-ce que quelqu'un aurait une idée s'il vous plait?

    le compilateur me retourne une erreur assez longue si elle est indispensable je la posterai.

    Merci d'avance, Léo

  2. #2
    Membre Expert
    Avatar de hiko-seijuro
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2 011
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 011
    Par défaut
    euh,

    tu le mets ou ton "using namespace std" ?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 31
    Par défaut
    oui oui je met bien le using namespace std :
    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
    #ifndef __DATA_H__
    #define __DATA_H__
     
    #include <iostream>
    #include <sstream>
    #include <map>
    #include <vector>
    #include <bitset>
    #include "Worm.h"
     
    using namespace std;
     
    class Data { [...] };
     
    ostream& operator<<(ostream& out, Data& d);
     
    #endif
    (ma classe contient d'autre opérations, elles fonctionnent toute correctement)

  4. #4
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 31
    Par défaut
    C'est noté (bien que le problème ne vienne pas de là), et corrigé.
    En fait je savais qu'il fallait le mettre mais je connaissait pas sont utilité.
    Je le mettais donc partout

    T'aurai pas une idée pour mon problème?

  6. #6
    Membre éclairé Avatar de befalimpertinent
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    561
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Avril 2007
    Messages : 561
    Par défaut
    Fais voir l'erreur que te sort ton compilo

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 31
    Par défaut
    Bon le problème est résolu mais je sais pas pourquoi.
    J'ai enlevé le "const" de la fonction getStat.
    Est-ce que quelqu'un sais pourquoi il n'en veut pas?

  8. #8
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut
    Citation Envoyé par lguignar Voir le message
    Bon le problème est résolu mais je sais pas pourquoi.
    J'ai enlevé le "const" de la fonction getStat.
    Est-ce que quelqu'un sais pourquoi il n'en veut pas?
    Peut tu mettre le code de getStat?
    Tu devais utiliser des choses non const pour ta class, comme par exemple un iterator au lieu d'un cons_iterator

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 31
    Par défaut
    Ok c'est tout à fait ça iterator au lieu de const_iterator...
    Merci beaucoup (le code est sur mon premier post)

    Merci à tous.

  10. #10
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut
    Citation Envoyé par lguignar Voir le message
    (le code est sur mon premier post)
    Oups désolé. J'avais pô vue...

  11. #11
    Membre Expert
    Avatar de hiko-seijuro
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2 011
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 011
    Par défaut
    euh fait gaffe ton getData ne retourne rien :p

  12. #12
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 31
    Par défaut
    J'avoue ne pas comprendre?
    (si c'est une blague je suis peut être pas encore assez balèze )

  13. #13
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut where is the return????
    Citation Envoyé par lguignar Voir le message
    J'avoue ne pas comprendre?
    (si c'est une blague je suis peut être pas encore assez balèze )
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    string
    Data::getStat(int chan) const { 
    	string ret;
    	//map<int,float> _wrongGreenWormsPercent;
    	map<int,float>::iterator iter;
    	int first;
    	float second;
    	for( iter = _wrongGreenWormsPercent.begin(); iter != _wrongGreenWormsPercent.end(); iter++ ) {
    		first=iter->first;
    		second=iter->second;
    		ret+=constructionS(first, second);
    	}
    }

  14. #14
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 31
    Par défaut
    Arf oui ^^
    La fonction n'est pas en entière, merci quand même
    À plus tard

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

Discussions similaires

  1. map dans un header
    Par kango dans le forum Débuter
    Réponses: 9
    Dernier message: 09/08/2008, 11h33
  2. [TListView] Ajouter un icône de tri dans le header
    Par phplive dans le forum Composants VCL
    Réponses: 1
    Dernier message: 25/09/2005, 13h07
  3. [Mail] Subject dans le header
    Par Tchinkatchuk dans le forum Langage
    Réponses: 1
    Dernier message: 07/09/2005, 09h24
  4. Réponses: 6
    Dernier message: 30/04/2004, 15h53
  5. [MFC] image dans un header de CListCtrl
    Par tut dans le forum MFC
    Réponses: 3
    Dernier message: 11/06/2003, 15h26

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