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 :

Initialisation de valeurs static const à partir d'un tableau.


Sujet :

C++

  1. #1
    Membre du Club
    Inscrit en
    Mars 2006
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 113
    Points : 48
    Points
    48
    Par défaut Initialisation de valeurs static const à partir d'un tableau.
    Bonjour à tous,

    je dois faire un projet en C++ dans lequel j'ai plusieurs classes avec des membres static car ils sont semblables à toute instance de la classe.
    Pour l'instant, ces données sont définies en dur, et j'aimerais pouvoir les récupérer à partir d'un fichier.
    J'ai donc fait une procédure qui me récupère mes données et les stocke dans un tableau.
    Maintenant, j'aimerais initialiser les données de ma classe à l'aide des cases du tableau.

    Voici un exemple de ce que j'ai fait:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
      extern int conf_lap[4];
      static const int age_max = conf_lap[0];
    Malheureusement, lors de la compilation, j'obtiens cette erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    [philippe@localhost projet_lapin]$ make
    g++ -Wall   -c -o main.o main.cpp
    lapin.h:8: error: ‘conf_lap’ cannot appear in a constant-expression
    lapin.h:8: error: an array reference cannot appear in a constant-expression
    Comment faire pour résoudre ce problème?

    Merci d'avance !

    Philippe

  2. #2
    Membre éclairé Avatar de ZaaN
    Inscrit en
    Novembre 2005
    Messages
    819
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 819
    Points : 661
    Points
    661
    Par défaut
    je sais pas si ca va t aider mais pour manipuler des membres static de classe, tu dois les prefixer du nom de la classe qui les contients....


    utilise les membres static seuleument en cas de necessité absolue... Utiliser un membre constant ne te suffit pas ?
    Pour les details, cherche tout seul !

  3. #3
    Membre du Club
    Inscrit en
    Mars 2006
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 113
    Points : 48
    Points
    48
    Par défaut
    J'ai trouvé ! C'était dur, mais bon...

    Voici comment je m'y suis pris:

    dans la classe, j'ai fait:
    static int age_max;

    et j'ai rajouté une méthode publique static: static void set_age_max(int);

    ensuite, avant l'implémentation des méthodes de ma classe, je fais maclasse::age_max;

    et dans le main:
    lapin::set_age_max(conf_lap[0]);

    voili voilo !

    Philippe

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

Discussions similaires

  1. Initialisation variable membre static const double
    Par LinuxUser dans le forum C++
    Réponses: 27
    Dernier message: 04/01/2013, 10h05
  2. [MySQL] affichage de valeurs d'attributs à partir d'un tableau
    Par PeaceMind dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 12/08/2012, 14h06
  3. Réponses: 27
    Dernier message: 16/05/2009, 14h53
  4. Initialisation de membres static const
    Par NiamorH dans le forum C++
    Réponses: 16
    Dernier message: 14/01/2008, 16h50
  5. static const et taille de tableau
    Par tut dans le forum C++
    Réponses: 3
    Dernier message: 27/01/2005, 16h01

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