Partage
  • Partager sur Facebook
  • Partager sur Twitter

surcharger l'operateur != pour une QStringList

    6 avril 2008 à 10:28:53

    Bonjour,
    tout est dans le titre ^^ .
    J'ai besoin de l'operateur != pour faire un test dans un for :
    1. for ( int l = i; contenuFichiers[l].at(l) != "[END SECTION]" ; l++)

    Seulement l'operateur != n'existe pas pour les QStringList (ici contenuFichier en est une).
    Donc, il faudrai que je le surcharge, mais, je vois pas trop comment faire :-° .
    J'ai regarder le cours de M@teo21, mais il ne parle que de l'operateur << pour cout,
    c'est possible dans mon cas ?
    • Partager sur Facebook
    • Partager sur Twitter
      6 avril 2008 à 10:53:32

      pourquoi tu veux le surcharger?
      Je n'en vois pas trop l'utilité.
      • Partager sur Facebook
      • Partager sur Twitter
      :)
        6 avril 2008 à 11:11:15

        Ben, pour que contenuFichiers[l].at(l) != "[END SECTION]" fonctionne ?
        ca me simplifierai les choses ^^
        • Partager sur Facebook
        • Partager sur Twitter
          6 avril 2008 à 11:19:06

          il se passe quoi dans ta boucle for?
          moi je te conseil de procéder autrement fait deux boucle une qui vérifie contenuFichiers[l].at(l) != "[END SECTION]"
          et si ceci est vérifier alors l'autre boucle entre en action et fais ce que tu désir.
          • Partager sur Facebook
          • Partager sur Twitter
          :)
            6 avril 2008 à 11:33:46

            J'ai fait ça :
            1. {
            2.                 for ( int l = i; m_continuer = 1 ; l++)
            3.                 {
            4.                     if (contenuFichiers[l].at(l) == "[END SECTION_ENTREESORTIE]")
            5.                         m_continuer = 0;
            6.                     else
            7.                         contenuSection[i] += contenuFichiers[i].at(k + 2);
            8.                 }


            Mais j'ai une segmentation fault.
            En fait je fais une tonne de boucle les unes a la suite des autres, je sais pas de la quelle ça vient :D .
            En tout ça donne ça :
            1. for (i = 0 ; i < m_nbcheval ; i++ )
            2.     {
            3.         for (int k = 0 ; k < j[i] ; k++)
            4.         {
            5.             if (contenuFichiers[i].at(k) == "[SECTION ENTREE_SORTIE]")
            6.             {
            7.                 for ( int l = i; m_continuer = 1 ; l++)
            8.                 {
            9.                     if (contenuFichiers[l].at(l) == "[END SECTION_ENTREESORTIE]")
            10.                         m_continuer = 0;
            11.                     else
            12.                         contenuSection[i] += contenuFichiers[i].at(k + 2);
            13.                 }
            14.             }
            15.         }
            16.     }

            m_nbcheval contient le nombre de fichier (donc le nombre de case dans le tableau contenuFichiers)
            j contient le nombre de ligne de chaque fichier j[0] du premier fichier, ect.
            Je vois pas mon erreur, mais avec des boucles pareil c'est asser dur a voir ^^

            Et je fait k + 2 parce que dans mon fichier j'ai fait deux lignes vide apres la declaration de section
            • Partager sur Facebook
            • Partager sur Twitter
              6 avril 2008 à 17:01:40

              heu... contenuFichiers[l].at(l) == "[END SECTION_ENTREESORTIE]" c'est impossible... comment veux-tu qu'un caractère soit égal à une chaîne de caractères ?
              • Partager sur Facebook
              • Partager sur Twitter
                6 avril 2008 à 17:58:23

                Tu ne peux surcharge l'opérateur que d'une classe que tu as écrite. Il y a donc deux solutions (même si surcharger ici est une mauvaise solution):

                1) Modifier le code de Qt (très mauvaise idée vu ton niveau et pas que pour ça d'ailleurs)
                2) Dériver la classe
                • Partager sur Facebook
                • Partager sur Twitter
                Co-auteur du cours de C++. ||| Posez vos questions sur le forum ||| Me contacter.

                surcharger l'operateur != pour une QStringList

                × 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