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 :

static std::<vector> c'est possible?


Sujet :

C++

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre confirm�
    Inscrit en
    Septembre 2004
    Messages
    187
    D�tails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 187
    Par d�faut static std::<vector> c'est possible?
    Bonjour,
    J'aimerais savoir s'il est possible de d�clarer dans une classe quelque chose comme:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    static std::vector<type> m_conteneur;
    Voil� ce que j'obtiens en essayant:
    /home/.../CDame.cc|3|erreur: invalid use of template-name �std::vector� without an argument list|
    ||=== Build finished: 1 errors, 0 warnings ===|

  2. #2
    Membre Expert
    Avatar de poukill
    Profil pro
    Inscrit en
    F�vrier 2006
    Messages
    2 155
    D�tails du profil
    Informations personnelles :
    �ge : 41
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2006
    Messages : 2 155
    Par d�faut
    Oui c'est possible.
    Tu pourrais nous montrer un peu plus de code? Disons un exemple minimal qui montre ton probl�me ?

  3. #3
    Membre confirm�
    Inscrit en
    Septembre 2004
    Messages
    187
    D�tails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 187
    Par d�faut
    Youpi!
    Alors voici le patron de ma classe:
    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
    class CPieces
    {
        public:
        CPieces(int,int,bool);
        virtual ~CPieces();
        //fonction d'acces aux membres
        bool _couleur() const;
        CCoord _coord() const;
        protected:
        CCoord m_coord;//coordonn�e de la piece
        const bool m_couleur;//couleur de la piece
        std::vector <CMouv> m_list;//liste des coups possible
        std::vector <CVecteur> m_vectlist;//contient la liste des vecteurs type de la piece
        //fonctions de gestion de la liste
        void _inserer(CMouv&);//TODO insertion d'un coup dans la liste**************
        void _vider();//TODO suppression d'un coup dans la liste***************
        //fonctions de calacul
        virtual CMouv _calcul(CVecteur)=0;
    };
    J'aimerais que les pi�ces poss�dant la m�me "m_vectlist" partage celle-ci plut�t qu'elles n'en poss�dent toutes une copie. D'o� l'id�e du static.
    Les �l�ments stock� sont �galement une classe. Manifestement je ne connais pas la syntaxe � appliquer dans ce cas la...

  4. #4
    r0d
    r0d est d�connect�
    Membre exp�riment�

    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Ao�t 2004
    Messages
    4 299
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : Ao�t 2004
    Messages : 4 299
    Billets dans le blog
    2
    Par d�faut
    Il suffit de rajouter le mot-cl� static devant la d�claration de ta variable:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    static std::vector <CVecteur> m_vectlist;
    Et ne pas oublier de l'initialiser. (Voir la faq � ce sujet)

  5. #5
    Membre confirm�
    Inscrit en
    Septembre 2004
    Messages
    187
    D�tails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 187
    Par d�faut
    En fait c'est plut�t l'impl�mentation qui pose probl�me. Lorsque je d�clare mon "m-vectlist" dans le .cc, je re�ois le message d'erreur qui est plus haut.

  6. #6
    r0d
    r0d est d�connect�
    Membre exp�riment�

    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Ao�t 2004
    Messages
    4 299
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : Ao�t 2004
    Messages : 4 299
    Billets dans le blog
    2
    Par d�faut
    Il faut que tu sp�cifies le type template de ton vecteur lors de l'initialisation:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    std::vector<CVecteur> CPieces::m_vectlist;

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. R�ponses: 7
    Dernier message: 16/01/2012, 10h59
  2. R�ponses: 10
    Dernier message: 30/06/2008, 19h59
  3. passer un champ en param�tre, c'est possible ??
    Par marie253 dans le forum Bases de donn�es
    R�ponses: 6
    Dernier message: 09/07/2004, 09h22
  4. R�ponses: 1
    Dernier message: 18/06/2004, 01h12
  5. R�ponses: 2
    Dernier message: 16/07/2003, 14h40

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