Partage
  • Partager sur Facebook
  • Partager sur Twitter

parcourir un tableau de structure passé en argum

erreur pour parcourir mon tableau de structure

    11 juillet 2019 à 17:14:45

    Bonjour,

    j'essaie de parcourir un tableau de structure mais j'ai une erreur si quelqu'un pourra m'aider à le résoudre.

    struct MeasToType
        {
        const char* pc_i_meas;
        Q2GlobalType o_i_typeMeas;
        };
    
    tatic const MeasToType to_g_measToTypeStandard[] =
    {
        { "cheval",  Q2GlobalType::CHEVAL}, //Q2GlobalType est un enum
        { "chat", Q2GlobalType::CHAT},
        { "chien", Q2GlobalType::CHIEN},
        { "serpent", Q2GlobalType::SERPENT},
    
    };
    
    Q2GlobalType measToType(const char* pc_a_meas , const MeasToType *o_a_measTable )
        {
        Q2GlobalType o_l_type =  Q2GlobalType::NONE;
    
        for ( MeasToType o_l_measToType : o_a_measTable ) //erreur ici begin and end was not declared in the scope
            {
            if ( strcmp( o_l_measToType.pc_i_meas, pc_a_meas ) == 0 )
                {
                o_l_type = o_l_measToType.o_i_typeMeas;
                }
            }
    
        return o_l_type;
        }
    
    
    // appel de la fonction 
    
    measToType( "chien", to_g_measToTypeStandard);
    

    erreur que ca me donne est au niveau de la boucle "erreur : 'begin' was not declared in this scope" ,  erreur : 'end' was not declared in this scope

    si quelqu'un peut m'expliquer ce qui ce passe ca serai sympa 

    merci à vous 

    • Partager sur Facebook
    • Partager sur Twitter
      11 juillet 2019 à 18:33:32

      Salut, un pointeur n'est pas un tableau, la fin n'est pas définie par le seul pointeur du coup la boucle for n'aurait pas de sens. Cf : https://en.cppreference.com/w/cpp/language/range-for

      Tu peux soit utiliser un conteneur, ou passer la taille de ton "tableau" en paramètre et utiliser une boucle for traditionnelle.

      • Partager sur Facebook
      • Partager sur Twitter
        11 juillet 2019 à 18:33:42

        Q2GlobalType measToType(const char* pc_a_meas , const MeasToType *o_a_measTable )

        Tu envoie un pointeur sur une ta structure MeasToType ... qui n'est pas un iterable .. pour utiliser la for loop ca prend une collection et pas un pointeur sur une structure.
        • Partager sur Facebook
        • Partager sur Twitter

        parcourir un tableau de structure passé en argum

        × 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