Partage
  • Partager sur Facebook
  • Partager sur Twitter

prob avec un tableau vector

Sujet résolu
    14 août 2008 à 15:30:29

    Bonjour,
    Ayant suivi le tutorial de Nanoc sur les tableaux dynamiques, l'envie m'a pris d'en faire ! ^^
    Mais ...
    (eh oui il y a toujours un "mais" dans les belles histoires ! :lol: )
    J'ai un problème lors de la compilation :
    In file included from Fjeu.h:5,
    from Fjeu.cpp:1:
    Venkel.h:16: error: expected ';' before '(' token

    Venkel est un personnage de mon jeu de combat, il est inclu dans Fjeu.h.
    Contenu de Venkel.h :
    #ifndef DEF_VENKEL
     #define DEF_VENKEL
    
     #include "Attaque.h"
     #include <QString>
     #include <vector>
    
     class Venkel
     {
         private :
            QString _nom;
            int _vie;
            int _force;
            int _endurance;
            int _mana;
            std::vector<Attaque> _attaque(3);
    
    
         public :
            Venkel();
            QString getNomAttaque(int i) const;
            int getNbAttaque() const;
    
     };
     #endif
    


    Contenu de Venkel.cpp :
    #include "Venkel.h"
    
    Venkel::Venkel()
    {
        _attaque[0].setNom("Éclat lumineux");
        _attaque[0].setDegats(10);
    
        _attaque[1].setNom("Épée enflammée");
        _attaque[1].setDegats(15);
    
        _attaque[2].setNom("Pommeau-bélier");
        _attaque[2].setDegats(20);
    }
    
    /**ACCESSEURS**/
    QString Venkel::getNomAttaque(int i) const
    {
        return _attaque[i-1].getNom();
    }
    
    int Venkel::getNbAttaque() const
    {
        return _attaque.size();
    }
    


    Merci de votre aide :)
    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      14 août 2008 à 15:42:04

      Tu ne peux pas construire un attribut directement, tu dois le faire dans le constructeur. Le '(3)' fait appel au constructeur. Tu devines la suite. (liste d'initialisation...)
      • Partager sur Facebook
      • Partager sur Twitter
        14 août 2008 à 15:42:39

        Tu ne peux pas mettre de constructeur dans l'interface d'une classe. Donc, il faut enlever le (3) après la déclaration du vecteur, et faire ça:
        Venkel::Venkel() :  _attaque(3)
        {
            // ...
        }
        


        En passant, un personnage constitue un bon cas de polymorphisme... Du genre, une classe abstraite nommée "Personnage", avec Venkel comme enfant de cette classe.

        EDIT: On me grille pas, je grille les autres... ;)
        • Partager sur Facebook
        • Partager sur Twitter

        prob avec un tableau vector

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown