Partage
  • Partager sur Facebook
  • Partager sur Twitter

des mots dans un tableau

pas l'air de fonctionner comme ca...

    18 juin 2006 à 23:59:10

    Bonsoir,

    Voilà j'ai un soucis, je comprend pas trop pourquoi je n'arrive pas à faire cette liste!
    Voici mon code


    intro.tableauImage[3][128] = {"j.bmp","e.bmp","u.bmp"};


    "intro" est une classe qui contient un char "tableauImage" qui (j'aimerais bien) devrait contenire le nom de mes image (que j'ai l'intention de charger par la suite..)
    donc: intro.tableauImage[0] = "j.bmp" par exemple

    Mais voilà, le compilateur, il veut pas:

    main.cpp: In function `int SDL_main(int, char**)':
    main.cpp:36: error: expected primary-expression before '{' token
    main.cpp:36: error: expected `;' before '{' token


    QUelqu'un peut m'expliquer ce que ce charabia cache?? :(

    Je m'y prends sans doute mal...
    Merci d'avance pour votre aide..
    • Partager sur Facebook
    • Partager sur Twitter
      19 juin 2006 à 0:18:26

      Citation : seb2003



      intro.tableauImage[3][128] = {"j.bmp","e.bmp","u.bmp"};


      "intro" est une classe qui contient un char "tableauImage" qui (j'aimerais bien) devrait contenire le nom de mes image (que j'ai l'intention de charger par la suite..)
      donc: intro.tableauImage[0] = "j.bmp" par exemple

      Mais voilà, le compilateur, il veut pas:

      main.cpp: In function `int SDL_main(int, char**)':
      main.cpp:36: error: expected primary-expression before '{' token
      main.cpp:36: error: expected `;' before '{' token


      QUelqu'un peut m'expliquer ce que ce charabia cache?? :(

      Je m'y prends sans doute mal...
      Merci d'avance pour votre aide..


      Effectivement, tu t'y prends mal.

      1 - Je suppose qu'on est en C, alors pas de 'classes', mais tout au mieux des structures.
      2 - On ne peut initialiser qu'une structure en entier, pas un de ses éléments :

      type_qui_va_bien intro = {"j.bmp","e.bmp","u.bmp"};

      sinon, il faut affecter les éléments un par un :

         strcpy (intro.tableauImage[0], "j.bmp");
         strcpy (intro.tableauImage[1], "u.bmp");
         strcpy (intro.tableauImage[2], "u.bmp");

      • Partager sur Facebook
      • Partager sur Twitter
      Music only !
        19 juin 2006 à 0:19:51

        non justement en c++ ...
        mais je vais voir si ce que tu viens de me donner ne m'aiderait pas..
        • Partager sur Facebook
        • Partager sur Twitter
          19 juin 2006 à 0:29:32

          Citation : seb2003

          non justement en c++ ...


          Alors, connait pas.
          • Partager sur Facebook
          • Partager sur Twitter
          Music only !
            19 juin 2006 à 0:35:12

            C++ tu peut toujours creer une methode qui prend en arguement trois chaines de caractère (ou string mais comme je debute là-dedans, je ne sais pas trop) et qui les place dans chacune des valeurs voulue.
            tu peut même le fait dans le constructeur je pense...
            • Partager sur Facebook
            • Partager sur Twitter
              19 juin 2006 à 0:43:19

              C'est gentil mais mon but est d'arriver à faire une fonction qui affiche les images et que je n'ai qu'à les rajouter dans mon tableauImages.

              ma fonction doit donc simplement parcourir la liste des nom des image que j'aurais faite pour l'affichée..

              Quelqu'un peut-il encore m'aider un peu??

              edit: Oui quand je dit fonction c'est biensur une méthode de ma class intro mais image toi que je vais rajouter de (nombreux) nom d'image, j'ai pas envie de les passer tous en argument..
              • Partager sur Facebook
              • Partager sur Twitter
                19 juin 2006 à 9:01:34

                Citation : seb2003

                image toi que je vais rajouter de (nombreux) nom d'image, j'ai pas envie de les passer tous en argument..


                Faut savoir ce que tu veux. Si tu fais une classe, il faut utiliser des méthodes, ca peut etre plus long mais c'est comme ca. Mais si elle ne te sers qu'a afficher les images, utilises plutot une structure et fais comme t'as dit -ed-.
                Enfin, tu peux toujours mettre les noms de tes images dans un .txt et ensuite le parcourir dans une methode de ta classe qui prend le nom de ce fichier .txt en argument.

                ++ !NiCo!
                • Partager sur Facebook
                • Partager sur Twitter
                  19 juin 2006 à 11:00:26

                  dans tous les cas tu dois les passer en argument quelque part pour pouvoir les mettre dans ton tableau ... par contre on pourait voir la declaration de ta classe, ça pourai aider à savoir les type de variable etc ..
                  • Partager sur Facebook
                  • Partager sur Twitter
                    19 juin 2006 à 15:04:52

                    Je comprends, j'ai sans doute pas été clair.

                    Voici ma class

                    class C_intro{

                        public:
                               
                            bool enCour;
                            SDL_Event event;
                            char tableauImage[][128];
                            SDL_Surface* ecran;
                           
                            int init();
                            int lancement();
                            int transition();
                    };
                    int C_intro::init(){
                        int i = 0;
                        fprintf(stderr, "Je suis arrive ici   %s \n", tableauImage[1] );
                        while(i <= 3){
                                             
                            SDL_Surface *image = NULL;       
                            SDL_Rect position;
                                position.x = 0;
                                position.y = 0;
                           
                           image = IMG_Load(tableauImage[i]);
                           if(image==NULL)fprintf(stderr, "Le fichier n'est pas charger..  \n");
                           
                           // + blitage etc.. pour afficher l' image
                           
                           
                            i++;
                        }
                       
                        return 0;

                    }

                    et dans mon main..

                    intro.ecran = ecran;
                    intro.tableauImage[2][128];
                        strcpy (intro.tableauImage[0], "j.bmp");
                        strcpy (intro.tableauImage[1], "e.bmp");
                        strcpy (intro.tableauImage[2], "u.bmp");
                    intro.init();


                    Avec ca, stderr contient bien le nom de mon fichier, mais il indique aussi que le fichier n'est pas chargé (3x puisqu'il est dans une boucle)

                    Pourquoi le chargement ne se fait-il pas?
                    Ma façon de faire est-elle bonne?

                    merci..
                    • Partager sur Facebook
                    • Partager sur Twitter

                    des mots dans un tableau

                    × 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