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 :

[Débutant] Déclaration et définition d'un tableau static const (header et source)


Sujet :

C++

  1. #1
    Vol
    Vol est déconnecté
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 42
    Points : 38
    Points
    38
    Par défaut [Débutant] Déclaration et définition d'un tableau static const (header et source)
    Voir le edit en bas...

    Bonjour,
    Ça fait plus de deux heures que j'essaye de résoudre ceci. Je veux avoir un tableau de int comme membre de classe. Je veux donc le déclarer dans le .h. Ensuite, je veux le définir dans le .cpp. J'ai donc essayer des choses du genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    class ClassA
    {
    public:
    	int m_tableau[3];
    };
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    #include "ClassA.h"
     
    m_tableau[0] = 1;
    et ça ne compile pas. Une des erreurs: "error C2466: cannot allocate an array of constant size 0".

    Comment faut-il faire pour avoir un tableau comme membre de classe (ou d'instance si vouz préférez...)?

    Une fois que cette question sera résolue, j'aimerais me créer un tableau "static const" pour avoir un tableau de constantes pour ma classe. Est-ce possible? J'ai trouver des posts qui suggéraient d'utiliser:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    static const int TABLEAU[3] = {1, 2, 3};
    Mais je n'ai pas réussi à l'implanter comme membre de classe.

    Souvent, dans ce forum, les gens disent de laisser tomber les array et d'utiliser les vector. Parfait, je ferai cela, mais pour l'instant je veux bien comprendre les array SVP.

    Si jamais ce n'est pas possible d'utiliser les array pour se définir des membres de classes, pourriez-vous me donner la synthaxe pour se créer un membre de classe en utilisant vector? J'ai déjà essayer mais j'ai été incapable. Il me faudrait la déclaration dans le .h et la définition dans le .cpp (j'ai déjà regardé le FAQ mais je n'ai pas été capable de mettre les vectors en application comme un membre de classe).

    Merci!

    [edit]
    J'étais complètement dans les vapes. J'avais tellement travaillé longtemps à essayer de créer un tableau static const que lorsque j'ai essayé de définir un tableau "normal" j'essayais de le définir comme une constante sans être à l'intérieur d'une méthode. Pour avoir le membre de classe, il suffit donc de définir le tableau à l'intérieur d'une méthode de ma classe... ARGGGGGGG, je me suis tellement pété la gueule là-dessus... Par contre, si quelqu'un à une suggestion pour un tableau static const je suis preneur!
    [/edit]

  2. #2
    Expert éminent sénior
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 279
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 279
    Points : 11 015
    Points
    11 015
    Par défaut
    C'est pas dans le FAQ ?

    De mémoire.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    //façon 1
    // toto.h
    #ifndef TOTO_H_
    #define TOTO_H_
    struct Toto {
        static const int tab[] = {1, 2, 3 };
    };
    #endif
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    //façon 2
    // toto.h
    #ifndef TOTO_H_
    #define TOTO_H_
    struct Toto {
        static const int tab[3] ; // je crois que la taille est nécessaire cette fois
    };
    #endif
     
    // toto.cpp
    #include "toto.h"
    const int Toto::tab[3] = {1,2,3};

Discussions similaires

  1. Déclaration de référence pour un tableau dans un header
    Par latitude38 dans le forum Débuter
    Réponses: 18
    Dernier message: 11/12/2014, 10h47
  2. Réponses: 2
    Dernier message: 23/03/2009, 18h19
  3. [Débutant] Déclaration d'un tableau de character
    Par ZeFMG dans le forum Fortran
    Réponses: 2
    Dernier message: 19/11/2008, 09h53
  4. [Débutant(e)][embarqué] Base de données vs tableau static
    Par ludonantes dans le forum Collection et Stream
    Réponses: 16
    Dernier message: 15/02/2006, 20h42
  5. Réponses: 11
    Dernier message: 12/02/2006, 21h46

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