Partage
  • Partager sur Facebook
  • Partager sur Twitter

called object is not a function

c'est quoi ça?

Sujet résolu
    27 juillet 2006 à 19:00:12


    Bonjour à tous.

    Je vien de créer une fonction pour les collision entre 2 surface et au moment de l'utilisé mon compilateur (dev C++) m'écrit ça :
    64 called object is not a function


    Voici la ligne qui plante:
    collision(ennemis, vide, longueurEnnemisX, longueurEnnemisY, longueurVideX, longueurVideY, collision, &positionEnnemis, &positionVide);



    Merci d'avance...
    • Partager sur Facebook
    • Partager sur Twitter
      27 juillet 2006 à 19:01:56

      tu n'aurais pas oublié le type de la focntion exemple ? :

      <gras>int</gras> collision(ennemis, vide, longueurEnnemisX, longueurEnnemisY, longueurVideX, longueurVideY, collision, &positionEnnemis, &positionVide);
      • Partager sur Facebook
      • Partager sur Twitter
        27 juillet 2006 à 19:02:28

        Peut tu poster ton code complet ?
        car juste ca, ca donne pas grand chose comme informations
        • Partager sur Facebook
        • Partager sur Twitter
          27 juillet 2006 à 19:03:39

          void collision(SDL_Surface* surface1, SDL_Surface* surface2, long surface1LongueurX, long surface1LongueurY, long surface2LongueurX, long surface2LongueurY, long collision, SDL_Rect position1, SDL_Rect position2)
            {
               SDL_Rect infGauche1 ;
               infGauche1.x = position1.x ;
               infGauche1.y = position1.y + surface1LongueurY;
               SDL_Rect infGauche2 ;
               infGauche2.x = position2.x ;
               infGauche2.y = position2.y + surface2LongueurY;
               SDL_Rect supDroit1 ;
               supDroit1.x = position1.x + surface1LongueurX ;
               supDroit1.y = position1.y ;
               SDL_Rect supDroit2 ;
               supDroit2.x = position2.x + surface2LongueurX ;
               supDroit2.y = position2.y ;
               if(infGauche1.x < supDroit2.x &&  infGauche2.x < supDroit1.x && infGauche1.y < supDroit2.y &&  infGauche2.y < supDroit1.y)
               {
                 FILE* fichier = NULL;
                fichier = fopen("coll.txt", "w");
                fprintf(fichier, "oui");
               }
            }


          Voilà.
          • Partager sur Facebook
          • Partager sur Twitter
            27 juillet 2006 à 19:04:17

            collision VS collision
            • Partager sur Facebook
            • Partager sur Twitter
              27 juillet 2006 à 19:10:56

              hum ta ligne 64 c'est pas celle que tu peut mettre dans un header ? a retrouver le nom :D le prototype.

              Si oui il manque le void devant collision
              void collision(ennemis, vide, longueurEnnemisX, longueurEnnemisY, longueurVideX, longueurVideY, collision, &positionEnnemis, &positionVide);

              ca donnerait ca et non
              collision(ennemis, vide, longueurEnnemisX, longueurEnnemisY, longueurVideX, longueurVideY, collision, &positionEnnemis, &positionVide);


              Edit: tromper de code ! >mais c'est remis la
              • Partager sur Facebook
              • Partager sur Twitter
                27 juillet 2006 à 19:12:09

                Ce qui m'inquiete surtout c'est qu'une des variables a le même nom que la fonction o_O
                • Partager sur Facebook
                • Partager sur Twitter
                Anonyme
                  27 juillet 2006 à 19:28:04

                  Une de mes variables avais le meme nom qu'une fonction et j'ai eu des erreurs .

                  je pense que c'est ce que Kayl à voulus te dire ;)
                  • Partager sur Facebook
                  • Partager sur Twitter
                    27 juillet 2006 à 19:59:35

                    Citation : Torim


                    Je vien de créer une fonction pour les collision entre 2 surface et au moment de l'utilisé mon compilateur (dev C++) m'écrit ça :

                    64 called object is not a function



                    Voici la ligne qui plante:

                    collision(ennemis, vide, longueurEnnemisX, longueurEnnemisY, longueurVideX, longueurVideY, collision, &positionEnnemis, &positionVide);



                    Tu utilises 2 fois l'identificateur collision : comme nom de fonction et comme paramètre. C'est voulu ? Ce paramètre est de type pointeur de fonction ? Sinon, il y a confusion...
                    • Partager sur Facebook
                    • Partager sur Twitter
                    Music only !
                      28 juillet 2006 à 9:47:55

                      Oui effectivement j'ai changé le nom de ma fonction et maintenant ça marche.

                      Merci tout le monde!
                      • Partager sur Facebook
                      • Partager sur Twitter

                      called object is not a function

                      × 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