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 :

vector dans une class


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 57
    Par défaut vector dans une class
    Bonjour,

    Pourriez-vous me dire pourquoi on ne peut pas créer un vector d'une dimension constante dans les variables d'une classe ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    struct T_trous{
    	int i;
    };
    class T_Golf{
    public:
    	int j;
    	vector <T_trous> trous(21);
    };
    Merci

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    38
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 38
    Par défaut
    Lorsque tu fais vector <T_trous> trous(21); Tu appelles le constructeur de vector<T_trous>. Par conséquent, en plus de déclarer une variable membre de la classe T_Golf, tu l'initialise (ce qui n'est possible qu'avec les variables statiques). Je pense que l'erreur vient d'ici, mais je peux me tromper.

  3. #3
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    Par contre, tu peux toujours faire ceci:
    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
    struct T_trous {
    	int i;
    };
     
    class T_Golf {
    public:
    	int j;
    	vector <T_trous> trous;
     
    	//Constructeur
    	T_Golf()
    	 : j(0), trous(21) //Liste d'initialisation
    	{
    		//...
    	}
    };
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 57
    Par défaut
    @zouip,
    Merci l'explication me parait tout à fait valable ....

    @Médinoc,
    Trop fort ca marche, mais pour moi, celà sort du chapeau. J'ai encore beaucoup de [DEL]route[/DEL] chemins vicinaux à parcourir.

    Merci à vous deux.
    NB : quel est le tag à employer pour obtenir une police barrée ????

  5. #5
    Rédacteur

    Avatar de Davidbrcz
    Homme Profil pro
    Ing Supaéro - Doctorant ONERA
    Inscrit en
    Juin 2006
    Messages
    2 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ing Supaéro - Doctorant ONERA

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 307
    Par défaut
    Pour la police barrée, c'est pas possible.
    "Never use brute force in fighting an exponential." (Andrei Alexandrescu)

    Mes articles dont Conseils divers sur le C++
    Une très bonne doc sur le C++ (en) Why linux is better (fr)

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 57
    Par défaut
    Citation Envoyé par Davidbrcz Voir le message
    Pour la police barrée, c'est pas possible.
    Arffff ...

    bon je ne m'en sort pas !!!

    Auriez-vous un lien sur un exemple d'utilisation d'un vector mais qui ne soit pas basé sur les trop classiques int ou string ?
    Un vector regroupant des struct m'aiderait à comprendre mes soucis.

    Thank's

Discussions similaires

  1. initialisation/suppression d'un vector dans une classe
    Par mokochan dans le forum Débuter
    Réponses: 3
    Dernier message: 19/12/2014, 11h50
  2. Vector dans une classe qui vient de Java
    Par JeanNoel53 dans le forum C++
    Réponses: 7
    Dernier message: 13/07/2010, 16h41
  3. Réponses: 9
    Dernier message: 12/07/2010, 14h25
  4. Pb std::vector dans une classe
    Par didi_di dans le forum Langage
    Réponses: 8
    Dernier message: 17/11/2009, 10h07
  5. Récupérer un Vector d'une classe dans une autre
    Par javamax dans le forum Langage
    Réponses: 2
    Dernier message: 22/10/2006, 13h29

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