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 :

Dans une structure, au lieu d'un #define


Sujet :

C++

  1. #1
    Membre �m�rite
    Avatar de Happy
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Juin 2005
    Messages
    665
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 36
    Localisation : Autre

    Informations professionnelles :
    Activit� : D�veloppeur Web

    Informations forums :
    Inscription : Juin 2005
    Messages : 665
    Par d�faut Dans une structure, au lieu d'un #define
    Bonjour � tous,

    Je vous explique mon pro-bleme:

    J'ai une structure test, qui contient un int nr, que on devras definir sa valeur,
    pour savoir combient d'obj j'ai.. Mais le probleme c'est que j'ai une erreur de compilation .

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    struct test
    {
       int nr;
        struct test1
       {
     
       };
       test1 obj[nr];
    };
    et voici l'example d'erreur que j'aie.

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    invalid use of non-static data member `test::nr'
    Donc je cherche a savoir comment compiler mon truc, enfin meme si je devrait passer par un autre systeme.

    Merci d'avance!

  2. #2
    Expert confirm�
    Homme Profil pro
    Ing�nieur d�veloppement logiciels
    Inscrit en
    D�cembre 2003
    Messages
    3 549
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (�le de France)

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement logiciels

    Informations forums :
    Inscription : D�cembre 2003
    Messages : 3 549
    Par d�faut
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    struct test
    {
       struct test1
       {
     
       };
       std::vector<test1> obj;
    };

  3. #3
    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
    En effet, il est infiniment pr�f�rable d'utiliser des conteneurs de libs epprouv�es plut�t que des structures de type C. Le vector de la STL est parfait pour ce que tu souhaites faire ici: tu ne connais pas � l'avance le nombre d'�l�ments que tu auras dans ton tableau.

  4. #4
    Membre confirm� Avatar de Dark-Water
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Juin 2006
    Messages
    142
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rh�ne (Provence Alpes C�te d'Azur)

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

    Informations forums :
    Inscription : Juin 2006
    Messages : 142
    Par d�faut
    Ton probleme viens que tu veux creer un tableau dynamiquement .

    Pour creer un tableau 2 sol :

    ou equivalent
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    const int nr=100;
    test1 obj[nr];
    ou bien de facon dynamique :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    int nr;
    test1* obj = new test1[nr];
    voila pour les infos maintenant comme dis pr�cedement utilise plutot un vector.

    Si tu sais pas t'en servir regarde la c++ ou

  5. #5
    Membre �m�rite
    Avatar de Happy
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Juin 2005
    Messages
    665
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 36
    Localisation : Autre

    Informations professionnelles :
    Activit� : D�veloppeur Web

    Informations forums :
    Inscription : Juin 2005
    Messages : 665
    Par d�faut
    Oui en effet c'est r�solu! Merci beaucoup!

  6. #6
    Expert confirm�
    Avatar de Luc Hermitte
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Ao�t 2003
    Messages
    5 296
    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 296
    Par d�faut
    <culture>
    Les VLA (Variable Length Arrays) n'existent qu'en C99. On ne les a pas en C++98, et on ne les aura jamais.
    </>
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne r�ponds � aucune question technique par le biais de ce m�dia. Et de toutes fa�ons, ma BAL sur dvpz est pleine...

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

Discussions similaires

  1. Copie d'un buffer dans une structure
    Par KnightsOfTheRound dans le forum C++
    R�ponses: 6
    Dernier message: 29/12/2005, 15h00
  2. R�ponses: 7
    Dernier message: 21/12/2005, 16h44
  3. Enlver un noeud dans une structure XML
    Par Sharingan dans le forum ASP
    R�ponses: 4
    Dernier message: 20/12/2004, 08h08
  4. don�e de plusieur vecteur dans une structure ??
    Par lipczynski dans le forum C++
    R�ponses: 5
    Dernier message: 13/08/2004, 08h17
  5. type void* dans une structure
    Par barbapapaz dans le forum C
    R�ponses: 3
    Dernier message: 16/07/2004, 16h11

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