Partage
  • Partager sur Facebook
  • Partager sur Twitter

error : expected ' , ' or ' ; ' before 'SDL_bool'

Sujet résolu
    30 mars 2023 à 2:06:13

    Bonjour ou bonsoir, est ce que l'on peut m'aider à trouver d'où viens l'erreur, car je sais ce que veux dire cette erreur, mais je c'est pas ou est ce qu'elle est. Voici mon code (je précise au cas où que j'utilise juste les bibliothèques de la SDL 2, stdio.h et stdlib.h) : 

    #include <exception>
    #include <string>
    #include <iostream>
    #include <SDL.h>
    #include <stdio.h>
    #include <stdlib.h>
    
    int main(int argc, char* argv[])
    {
        SDL_Window *window = NULL;
        int statut = EXIT_FAILURE;
        SDL_Renderer *renderer = NULL;
    
        if(0 != SDL_Init(SDL_INIT_VIDEO))
        {
            fprintf(stderr, "Erreur SDL_Init() : %s", SDL_GetError());
            goto Quit;
        }
    
        window = SDL_CreateWindow("SDL2", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, 640, 480, SDL_WINDOW_SHOWN);
    
        if(NULL == window)
        {
            fprintf(stderr, "Erreur SDL_CreateWindow() : %s", SDL_GetError());
            goto Quit;
        }
    
        renderer = SDL_CreateRenderer(window, -1, SDL_RENDERER_ACCELERATED);
    
        if(NULL == renderer)
        {
            fprintf(stderr, "Erreur SDL_CreateRenderer", SDL_GetError());
            goto Quit;
        }
    
        SDL_Point point = {0, 0}
    
        SDL_bool test(SDL_Point point, SDL_Rect rect)
        {
            if(point.x >= rect.x && point.x <= (rect.x + rect.w) && point.y >= rect.y && point.y <= (rect.y  + rect.h))
    
            SDL_bool SDL_PointInRect(const SDL_Point* p, const SDL_Rect* r) 
            
            SDL_Color bleu{0,0,255,255};
    
                return SDL_TRUE;
            else
            return SDL_FALSE;
        }
    
        statut = EXIT_SUCCESS;
        SDL_Delay(3000);
    
    
    Quit:
            if(NULL != renderer)
                SDL_DestroyRenderer(renderer);
            if(NULL != window)
                SDL_DestroyWindow(window);
            SDL_Quit();
    
        return statut;
    }

    C'est normal si c'est un peut n'importe quoi ce qu'il y a dans mon code, je suis pas en trin de crée un vrai programme, j'apprend juste actuellement à crée des points, des rectangles et à mettre des couleurs. Si le SDL_Color bleu{0,0,255,255}; n'a rien à faire la, n'y faite pas attention, c'est juste car je voulais voir si sa m'affichais des couleurs si je fessais comme sa, mais j'ai toujours pas pus voir si sa fonctionnais car sa me mais cette erreur(j'avais déjà supprimer cette fonction et sa me m'était toujours l'erreur donc le problème ne viens pas de là)

    • Partager sur Facebook
    • Partager sur Twitter
      30 mars 2023 à 9:59:14

      MorgadPrudhon a écrit:

      C'est normal si c'est un peut n'importe quoi ce qu'il y a dans mon code, je suis pas en trin de crée un vrai programme, ...

      Il faut que ça soit pas trop n'importe quoi quand même.

      Pour l'erreur que tu cite, c'est qu'il manque un point virgule la ligne précédente. (ligne 36).

      Mais il y en a d'autre. Déjà si tu fait du C enlève les include du C++. Ligne 32 ton fprinf n'est pas correcte...

      Que vient faire une déclaration de fonction derrière un if (ligne 42).

      etc...

      Edit, je rajoute : Un else sans if mais peut-être as-tu oublié les accolades du if.

      Pourquoi une définition de fonction dans le corps de la fonction main ? En plus tu ne l'appelles pas.

      -
      Edité par rouIoude 30 mars 2023 à 16:09:12

      • Partager sur Facebook
      • Partager sur Twitter
      ...
        30 mars 2023 à 16:11:03

        ok maintenant sa me mais plus cette erreur mais sa me mais maintenant une autre erreur : "error: a fonction-definition is not allowed here before '{' token".

        Sinon j'avais bien oublier de mettre le %s dans mon fprintf ligne 32 (je pense que c'est de sa que tu parlais) et je pense que pour le if de la ligne 42 sais régler mais je suis pas sur : 

        SDL_bool test(SDL_Point point, SDL_Rect rect)
            {
                if(point.x >= rect.x && point.x <= (rect.x + rect.w) && point.y >= rect.y && point.y <= (rect.y  + rect.h))
                {
                  return SDL_TRUE;
                else
                return SDL_FALSE;
                }
        
                SDL_bool SDL_HasIntersection(const SDL_Rect* A, const SDL_Rect* B) 
        
                SDL_boot SDL_IntersectRect(const SDL_Rect* A, const SDL_Rect* B, SDL_Rect* result) 
        
                SDL_bool SDL_PointInRect(const SDL_Point* p, const SDL_Rect* r) 
                SDL_Color bleu{0,0,255,255};
            }

        Et c'est les quel les include du C++ qu'il faut enlever?

        • Partager sur Facebook
        • Partager sur Twitter
          30 mars 2023 à 17:18:44

          Les trois premières.
          • Partager sur Facebook
          • Partager sur Twitter

          git is great because Linus did it, mercurial is better because he didn't.

            30 mars 2023 à 18:25:36

            Le else est toujours mal placé ! Il devrait être après un if, ou après un bloc if, mais pas à l’intérieur du bloc if ! Le if else, fait parti des bases du langage. !

            Il manque beaucoup de point virgule !

            Que viennent faire ces déclaration de fonction dans le corps de ta fonction test ? Elles ne vont pas être bien visible !

            (La définition de ta variable bleu va passé en C++ mais pas en C. mais bon fin de fonction elle ne va pas servir. surtout si tu embrayes des return avant).

            -
            Edité par rouIoude 30 mars 2023 à 18:34:51

            • Partager sur Facebook
            • Partager sur Twitter
            ...
              30 mars 2023 à 23:54:58

              Hello,

                      SDL_bool SDL_HasIntersection(const SDL_Rect *A, const SDL_Rect *B);
                      SDL_Rect A = {....}, B = {....}, result;
                      SDL_bool rc;
                      rc = SDL_IntersectRect(&A, &B, &result);
              



              La ligne 1 est une déclaration de fonction, la ligne 4 est un appel de fonction.

              -
              Edité par edgarjacobs 30 mars 2023 à 23:57:14

              • Partager sur Facebook
              • Partager sur Twitter

              On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent

                31 mars 2023 à 2:14:00

                rouIoude a écrit:

                Le else est toujours mal placé ! Il devrait être après un if, ou après un bloc if, mais pas à l’intérieur du bloc if ! Le if else, fait parti des bases du langage. !

                Il manque beaucoup de point virgule !

                Que viennent faire ces déclaration de fonction dans le corps de ta fonction test ? Elles ne vont pas être bien visible !

                (La définition de ta variable bleu va passé en C++ mais pas en C. mais bon fin de fonction elle ne va pas servir. surtout si tu embrayes des return avant).

                -
                Edité par rouIoude il y a environ 7 heures


                je pense que ce que tu veux dire sais que les fonctions comme "SDL_bool SDL_HasIntersection(const SDL_Rect* A, const SDL_Rect* B)" ne doivent pas être dans la fonction "SDL_bool test(SDL_Point point, SDL_Rect rect)". Mais aussi je savais pas trot ou les mettre ces fonctions car dans le cour que j'ai le type il ne me mettais pas ou il fallait mettre ces fonctions, il mettais juste les prototypes, et comme juste avant j'avais appris la fonction "SDL_bool", j'ai pensé qu'il fallait les mettre entre les '{' (je sais pas comment sa s'appelle). Et pour les points virgules je pense que vu qu'il mettait que les prototypes et que sur les prototypes, vu que ces des prototypes, il mettait pas de point virgule, j'ai du penser qu'il ne fallait pas mettre de point virgule.

                edit : Et maintenant que j'y pense, j'avais pas fait d'informatique pendant pas mal de jour et quand hier j'avais ouvert mon code, les prototypes était dans des commentaires, donc je les avais enlever des commentaires car je pensais que c'était des fonctions, mais maintenant je me souviens de pourquoi c'était dans des commentaires, c'est car se n'est pas des fonctions mais des prototypes, c'est pour sa que mon code ne marchais pas, je m'en souviens maintenant. Faut vraiment que j'arrête de prendre de trop longue pause en informatique. XD

                Bon merci pour votre aide en tous cas, même si enfaite les erreurs venais juste du fait que j'avais oublier que mes fonction était en faite des prototype.

                re edit : Bon enfaite sa me mais toujours l'erreur : "error : a fonction-definition is not allowed here before '{' token" et aussi une autre erreur donc j'avais oublier de parler : "error : jump to label 'Quit' [-fpermissive]".

                -
                Edité par MorgadPrudhon 31 mars 2023 à 2:24:41

                • Partager sur Facebook
                • Partager sur Twitter
                  31 mars 2023 à 11:15:10

                  Il faut un point virgule après un prototype (déclaration) de fonction.

                  Un prototype (déclaration) de fonction ne se met pas dans le corps (entre les accolades) d'une fonction.

                  etc...

                  Il faut revoir tes bases du langage C.

                  • Partager sur Facebook
                  • Partager sur Twitter
                  ...
                    31 mars 2023 à 12:30:43

                    à oui désoler, j'ai confondu les deux, quand j'ai écris sa j'étais un peut fatiguer et ce qui a du me faire penser l'inverse c'est que le type sur le cour avait pas mis de point virgule, et pour le fait que je les avais mis dans une fonction c'étais car je pensais que c'étais des fonction, mais en tous cas le problème viens pas de la car j'ai remis les prototypes dans des commentaires mais sa me mais toujours cette erreur.

                    Par contre si on me dis que les fonctions aussi ont peut pas les mettre dans d'autre fonction, alors faut vraiment que je revois les bases.

                    • Partager sur Facebook
                    • Partager sur Twitter
                      31 mars 2023 à 13:04:41

                      MorgadPrudhon a écrit:

                      est ce que l'on peut m'aider à trouver d'où viens l'erreur, car je sais ce que veux dire cette erreur, mais je c'est pas ou est ce qu'elle est.

                      C'est impossible : tous les compilateurs indiquent les lignes où se trouvent les erreurs. Donc tu ne vois pas cette information ? Trouve-la, c'est primordial !

                      Dans le forum aussi, il faut indiquer à quelle ligne se trouve l'erreur dont tu parles (quand tu auras trouvé où se trouve l'info).

                      MorgadPrudhon a écrit:

                      Par contre si on me dis que les fonctions aussi ont peut pas les mettre dans d'autre fonction, alors faut vraiment que je revois les bases.

                      Qu'appelles-tu « mettre » une fonction ?

                      En C, on ne peut pas déclarer ni définir une fonction à l'intérieur d'une autre fonction.

                      Par contre, on peut appeler une fonction à l'intérieur d'une autre fonction (et même à l'intérieur d'elle-même : c'est la récursivité).

                      -
                      Edité par robun 31 mars 2023 à 13:07:19

                      • Partager sur Facebook
                      • Partager sur Twitter
                        31 mars 2023 à 15:38:06

                        L'erreur se trouve à la ligne 39 sur le code que j'ai mis dans mon premier message

                        mais après avec les changement que j'ai fait avec mon code c'est la ligne 36, justement voici mon nouveau code : 

                        #include <SDL.h>
                        #include <stdio.h>
                        #include <stdlib.h>
                        
                        int main(int argc, char* argv[])
                        {
                            SDL_Window *window = NULL;
                            int statut = EXIT_FAILURE;
                            SDL_Renderer *renderer = NULL;
                        
                            if(0 != SDL_Init(SDL_INIT_VIDEO))
                            {
                                fprintf(stderr, "Erreur SDL_Init() : %s", SDL_GetError());
                                goto Quit;
                            }
                        
                            window = SDL_CreateWindow("SDL2", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, 640, 480, SDL_WINDOW_SHOWN);
                        
                            if(NULL == window)
                            {
                                fprintf(stderr, "Erreur SDL_CreateWindow() : %s", SDL_GetError());
                                goto Quit;
                            }
                        
                            renderer = SDL_CreateRenderer(window, -1, SDL_RENDERER_ACCELERATED);
                        
                            if(NULL == renderer)
                            {
                                fprintf(stderr, "Erreur SDL_CreateRenderer() : %s", SDL_GetError());
                                goto Quit;
                            }
                        
                            SDL_Point point = {0, 0};
                            
                            SDL_bool test(SDL_Point point, SDL_Rect rect)
                            {
                                if(point.x >= rect.x && point.x <= (rect.x + rect.w) && point.y >= rect.y && point.y <= (rect.y  + rect.h))
                                {
                                  return SDL_TRUE;
                                }
                                else
                                {
                                  return SDL_FALSE;
                                }
                            }
                        
                            statut = EXIT_SUCCESS;
                            SDL_Delay(3000);
                        
                        
                        Quit:
                                if(NULL != renderer)
                                    SDL_DestroyRenderer(renderer);
                                if(NULL != window)
                                    SDL_DestroyWindow(window);
                                SDL_Quit();
                        
                            return statut;
                        }

                        Y'a pas grand chose qui a changer mais je le mets quand même.

                        Bon maintenant je vais aller revoir mon cour sur les fonctions car apparemment j'ai oublier pas mal de chose. Mais je parlais bien de faire appelle à une fonction à l'intérieur d'une autre fonction.

                        -
                        Edité par MorgadPrudhon 31 mars 2023 à 15:41:19

                        • Partager sur Facebook
                        • Partager sur Twitter
                          31 mars 2023 à 17:42:26

                          C'est parce que tu mets la définition de fonction test dans le corps de la fonction main et que tu compiles en C++.

                          En plus elle ne te sert à rien, car tu ne l'appelles pas.

                          • Partager sur Facebook
                          • Partager sur Twitter
                          ...
                            1 avril 2023 à 1:44:49

                            A ok c'est pour sa, désoler de pas avoir su résoudre le problème moi même, alors que pourtant maintenant que j'y pense c'est logique que le code marche pas vu que je crée une fonction dans une fonction, je ferais plus attention la prochaine fois. Merci de votre aide.

                            Par contre je sais pas pourquoi sa me fait sa mais sa me met une erreur "error : jump to label 'Quit' [-fpermissive]" je comprend pas trop se que cette erreur veux dire, sa me met l'erreur à la ligne 51 du code que j'ai mis dans le message d'avant, à l'endroit ou y'a le "Quit:", mais je vois pas pourquoi sa me mais cette erreur, pourtant j'ai bien mis deux point à la fin du "Quit" et non un point virgule comme je le fais des fois, et pour les "goto" je mets bien "goto Quit;".

                            edit : tu veux dire quoi par compiler en C++? pourtant j'utilise bien les fonctions du langage C.

                            -
                            Edité par MorgadPrudhon 1 avril 2023 à 1:57:10

                            • Partager sur Facebook
                            • Partager sur Twitter
                              1 avril 2023 à 2:50:34

                              > edit : tu veux dire quoi par compiler en C++? pourtant j'utilise bien les fonctions du langage C.
                              Pourquoi les headers suivants?
                              #include <exception>
                              #include <string>
                              #include <iostream

                              • Partager sur Facebook
                              • Partager sur Twitter

                              Le Tout est souvent plus grand que la somme de ses parties.

                                1 avril 2023 à 3:01:33

                                Enfaite je crois que le problème venais du fait que j'utilisais un fichier C++ au lieu d'un C, je pense que c'est sa que tu voulais dire rouloude.

                                Donc j'ai supprimer le fichier qui était en C++ et j'ai tous copier coller se qu'il y avait dedans dans un fichier C, par contre maintenant sa me met plusieurs erreurs : "multiple definition of 'SDL_main' " "first defined here" "multiple definition of 'test' " "first defined here (ou sa mis met deux fois) " et   " error :  ld returned 1 exit status" j'ai essayer en remétant les trois premiers "#include" que j'avais enlever comme apparemment elles sont juste pour le C++, et sa me mais juste cette erreur : " error : No such file or directory "

                                • Partager sur Facebook
                                • Partager sur Twitter
                                  1 avril 2023 à 3:12:38

                                  Ou bien tu as plusieurs copies (définitions) de ces fonctions, ou bien tu as plusieurs prototypes (déclarations) de ces fonctions.
                                  Tu ne dois avoir qu'une seule définition de chaque fonction. Et les déclarations ne doivent pas se contredire.
                                  • Partager sur Facebook
                                  • Partager sur Twitter

                                  Le Tout est souvent plus grand que la somme de ses parties.

                                    1 avril 2023 à 3:22:04

                                    ok mais pourtant j'avais supprimer tous se qu'il y avais dans le dossier en C++ et j'avais même supprimer le dossier.

                                    Mais de toute façon j'ai supprimer le projet et j'en ai crée un nouveau pour essayer de démarrer directement avec un fichier en C, mais sa ne ma pas l'air possible, mais je pense pas que le problème vienne du fait que le fichier sois en C++ car sur mes autres projet que j'avais fait avec SDL 2, c'était aussi des fichiers en C++ et pourtant la fonction "goto" fonctionnais.

                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      1 avril 2023 à 3:39:52

                                      Llà on ne sait plus ce que tu as fait ...
                                      De plus, je ne travaille pas avec un IDE (VS Code, etc.). Je ne peux pas t'aider sur ce point.
                                      Tu peux tout mettre dans un fichier *.c si tu veux compiler en C.
                                      Tu places d'abord les entêtes,
                                      puis les définitions de symboles et les structures que tu utilises partout,
                                      puis les fonctions dans le bon ordre,
                                      puis le main
                                      Pour ton label Quit, il faudrait ton code final pour savoir.
                                      Et 'goto' n'est pas une "fonction", c'est un énoncé comme for ou switch.
                                      Il faudrait éviter d'utiliser les goto quand on peut.
                                      • Partager sur Facebook
                                      • Partager sur Twitter

                                      Le Tout est souvent plus grand que la somme de ses parties.

                                        1 avril 2023 à 3:49:33

                                        voici mon code actuel : 
                                        #include <exception>
                                        #include <string>
                                        #include <iostream>
                                        #include <SDL.h>
                                        #include <stdio.h>
                                        #include <stdlib.h>
                                        
                                        int main(int argc, char* argv[])
                                        {
                                            SDL_Window *window = NULL;
                                            int statut = EXIT_FAILURE;
                                            SDL_Renderer *renderer = NULL;
                                        
                                            if(0 != SDL_Init(SDL_INIT_VIDEO))
                                            {
                                                fprintf(stderr, "Erreur SDL_Init() : %s", SDL_GetError());
                                                goto Quit;
                                            }
                                        
                                            window = SDL_CreateWindow("SDL2", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, 640, 480, SDL_WINDOW_SHOWN);
                                        
                                            if(NULL == window)
                                            {
                                                fprintf(stderr, "Erreur SDL_CreateWindow() : %s", SDL_GetError());
                                                goto Quit;
                                            }
                                        
                                            renderer = SDL_CreateRenderer(window, -1, SDL_RENDERER_ACCELERATED);
                                        
                                            if(NULL == renderer)
                                            {
                                                fprintf(stderr, "Erreur SDL_CreateRenderer() : %s", SDL_GetError());
                                                goto Quit;
                                            }
                                        
                                            SDL_Point point = {0, 0};
                                        
                                            statut = EXIT_SUCCESS;
                                            SDL_Delay(3000);
                                        
                                        Quit:
                                        
                                                if(NULL != renderer)
                                                    SDL_DestroyRenderer(renderer);
                                                if(NULL != window)
                                                    SDL_DestroyWindow(window);
                                                SDL_Quit();
                                        
                                            return statut;
                                        }
                                        
                                         SDL_bool test(SDL_Point point, SDL_Rect rect)
                                            {
                                                if(point.x >= rect.x && point.x <= (rect.x + rect.w) && point.y >= rect.y && point.y <= (rect.y  + rect.h))
                                                {
                                                  return SDL_TRUE;
                                                }
                                                else
                                                {
                                                  return SDL_FALSE;
                                                }
                                            }
                                        
                                        Et c'est se que j'avais fait, j'avais tous copier coller dans un fichier .c et j'ai supprimer le fichier .cpp (c'est comme sa que s'appelle les fichiers en C++ je crois), mais sa me m'était plein d'erreur bizarre.
                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                          1 avril 2023 à 4:19:29

                                          Et que donne ce code?
                                          • Partager sur Facebook
                                          • Partager sur Twitter

                                          Le Tout est souvent plus grand que la somme de ses parties.

                                            1 avril 2023 à 4:28:12

                                            comme je l'ai déjà dis dans un autre message, ce code me donne cette erreur : "error : jump to label 'Quit' [-fpermissive]"
                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                              1 avril 2023 à 6:21:29

                                              J'ai trouvé ce lien:


                                              https://stackoverflow.com/questions/14274225/statement-goto-can-not-cross-variable-definition


                                              Il semble que le compilateur n'aime pas qu'on sorte d'un bloc { } avec des pointeurs.
                                              Après tout, le goto peut nous envoyer n'importe où, y compris avant l'assignation d'une valeur à un pointeur.
                                              Tu pourrais essayer avec l'option -fpermissive sur la ligne d'appel au compilateur.

                                              • Partager sur Facebook
                                              • Partager sur Twitter

                                              Le Tout est souvent plus grand que la somme de ses parties.

                                                1 avril 2023 à 10:23:54

                                                MorgadPrudhon a écrit:

                                                comme je l'ai déjà dis dans un autre message, ce code me donne cette erreur : "error : jump to label 'Quit' [-fpermissive]"

                                                C'est parce que tu fais une déclaration de variable après le goto, donc si le goto est exécuté elle sera zappée et donc pas déclarée. (Et aussi parce que tu compile en C++). 

                                                (C'est en partie pour ça qu'on évite les goto).

                                                Déplace la au début de la fonction main et tu verras ça compile.

                                                PS : Tu peux aussi la supprimer, tu ne t'en sert pas ?!

                                                -
                                                Edité par rouIoude 1 avril 2023 à 10:31:47

                                                • Partager sur Facebook
                                                • Partager sur Twitter
                                                ...
                                                  1 avril 2023 à 16:52:36

                                                  rouIoude a écrit:

                                                  MorgadPrudhon a écrit:

                                                  comme je l'ai déjà dis dans un autre message, ce code me donne cette erreur : "error : jump to label 'Quit' [-fpermissive]"

                                                  C'est parce que tu fais une déclaration de variable après le goto, donc si le goto est exécuté elle sera zappée et donc pas déclarée. (Et aussi parce que tu compile en C++). 

                                                  (C'est en partie pour ça qu'on évite les goto).

                                                  Déplace la au début de la fonction main et tu verras ça compile.

                                                  PS : Tu peux aussi la supprimer, tu ne t'en sert pas ?!

                                                  -
                                                  Edité par rouIoude il y a environ 6 heures


                                                  Ok l'erreur venais bien du fait que il y avait des "goto" avant la création d'une variable, maintenant je vais enfin pouvoir essayer de crée des pixels de couleurs. Merci pour votre aide.

                                                  Par contre je sais pas comment on doit faire pour y compiler en C et pas en C++ car j'ai pas trouver de moyen de commencer un code avec SDL 2 avec un fichier en C et non en C++, et quand je copie colle tous se qu'il y a dans le fichier en C++ et que j'y mets dans un en C et que je supprime le fichier en C++, sa me mais plein d'erreur bizarre, mais pas grave, pour l'instant sa fonctionne avec un fichier en C++ donc je verrais sa quand sa causera vraiment un problème.

                                                  • Partager sur Facebook
                                                  • Partager sur Twitter
                                                    1 avril 2023 à 18:21:09

                                                    MorgadPrudhon a écrit:

                                                    Par contre je sais pas comment on doit faire pour y compiler en C et pas en C++ car j'ai pas trouver de moyen de commencer un code avec SDL 2 avec un fichier en C et non en C++, et quand je copie colle tous se qu'il y a dans le fichier en C++ et que j'y mets dans un en C et que je supprime le fichier en C++, sa me mais plein d'erreur bizarre, mais pas grave, pour l'instant sa fonctionne avec un fichier en C++ donc je verrais sa quand sa causera vraiment un problème.

                                                    En C, il faut déjà enlever les includes du C++ (qui de plus ne sont pas utile pour ton code actuel). Ensuite, c'est peut-être les paramètres de ton projet qui ne sont pas correct.



                                                    • Partager sur Facebook
                                                    • Partager sur Twitter
                                                    ...
                                                      1 avril 2023 à 19:02:06

                                                      >En C, il faut déjà enlever les includes du C++ (qui de plus ne sont pas utile pour ton code actuel).
                                                      Ça fait combien de fois qu'on le mentionne??
                                                      Je vais déplaire à certains, mais je suis heureux de ne pas utiliser de IDE (pas de paramètre à gérer)
                                                      • Partager sur Facebook
                                                      • Partager sur Twitter

                                                      Le Tout est souvent plus grand que la somme de ses parties.

                                                        1 avril 2023 à 19:08:30

                                                        Bonjour,

                                                        Je crois que pour certains IDE, lorsqu' ils voient une extension 'cpp' dans un nom de fichier, hé bien ils sélectionnent automatiquement g++.exe au lieu de gcc.exe (par exemple dans le cas de MinGW) même si le projet a été sélectionné comme étant un projet 'C'. :)

                                                        • Partager sur Facebook
                                                        • Partager sur Twitter

                                                        Mon site web de jeux SDL2 entre autres : https://www.ant01.fr

                                                          1 avril 2023 à 20:46:40



                                                          -
                                                          Edité par rouIoude 1 avril 2023 à 21:12:53

                                                          • Partager sur Facebook
                                                          • Partager sur Twitter
                                                          ...
                                                            1 avril 2023 à 21:10:50

                                                            Il me semble que gcc considère qu'une extension .C (majuscule) est un code cpp, et .c (minuscule) est un code c
                                                            • Partager sur Facebook
                                                            • Partager sur Twitter

                                                            On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent

                                                              1 avril 2023 à 23:00:08

                                                              Moi j'utilise CodeBlocks et lors de la création du projet, quand je choisis le nom du projet, y'a quatre ligne, et sur la troisième sa m'affiche "nomDuProjet.cpp", et j'y ai remplacer par .c mais pourtant sa me crée quand même un projet en C++
                                                              • Partager sur Facebook
                                                              • Partager sur Twitter

                                                              error : expected ' , ' or ' ; ' before 'SDL_bool'

                                                              × 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