Partage
  • Partager sur Facebook
  • Partager sur Twitter

Remplir un vector dans une structure

    15 juin 2021 à 4:47:35

    Bonjour,

    j'ai comment puis je remplir un vector qui se trouve dans un structure ?

    voici mon code :

    #include <iostream>
    #include <vector>
    
    using namespace std;
    
    struct aliment
    {
        string nom;
        float valeur;
    };
    
    
    struct nutriment
    {
        string nom;
        vector<aliment> aliments;
    };
    
    
    
    int main()
    {
        vector<nutriment> nutriments;
    
        nutriment contenant = {"pomme", };
    
        nutriments.nom.push_back(contenant);
    
        cout << nutriments[0].nom;
    
        return 0;
    }
    

    Merci de votre aide

    • Partager sur Facebook
    • Partager sur Twitter
      15 juin 2021 à 9:09:03

      Je n'ai pas l'impression que ce que tu manipules est très clair pour toi -- relativement au choix de structuration métier que tu as choisi.

      En effet, tu fais un push_back sur le nom au lieu de la liste d'aliments, le nutriment est la pomme (n'est-ce pas un aliment? Remarque je n'y connais rien à ces détails), si nutriment**S** est un vecteur, il n'y a pas de champs nom (ligne 27...)

      Enfin, pour l'initialisation de contenant, évite de faire les choses à moitié, ou alors définis un constructeur pour initialiser juste le nom.

      Bref, ce devrait ressembler plutot à ça: https://godbolt.org/z/zYeo9rz68

      • Partager sur Facebook
      • Partager sur Twitter
      C++: Blog|FAQ C++ dvpz|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS| Bons livres sur le C++| PS: Je ne réponds pas aux questions techniques par MP.

      Remplir un vector dans une structure

      × 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