Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème identificateur attendu

et erreur de syntaxe 'type'

    13 novembre 2022 à 22:49:26

    int main()
    {
        // variable permettant le parcours d'une image
        int i, j;
     
        // exemple de déclaration d'un pointeur image
        struct fichierimage* fichier = NULL;
     
        // exemple pour effectuer un copier coller
     
        fichier=charger("Risk.bmp");
        enregistrer("resultat.bmp",fichier);
        free(fichier);
         
     
        // modification ou lecture de pixels d'une image
     
        fichier = nouveau(1200, 630);
        for (i = fichier->entetebmp.hauteur;i >= 0;i--)
            for (j = 0;j < fichier->entetebmp.largeur;j++)
            {
                fichier->image[i][j].r = 0;
                fichier->image[i][j].g = 255 * 0.30;
                fichier->image[i][j].b = 255 * 0.30;
            }
        enregistrer("resultatGris.bmp", fichier);
        free(fichier);
    }

    Salut, 

    Je viens de commencer le C, je suis vraiment débutant :'c.

    J'ai un problème d'identificateur attendu et une erreur syntaxe 'type' mais je ne vois pas où est l'erreur.

    Les erreurs sont dans int main()

    Voici-ci dessous les erreurs en question.

    • Partager sur Facebook
    • Partager sur Twitter
      13 novembre 2022 à 23:11:41

      Hello,

      C'est dommage, on ne voit pas les erreurs. Et sans le code complet, impossible de le tester.

      -
      Edité par edgarjacobs 13 novembre 2022 à 23:12:00

      • 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

        14 novembre 2022 à 10:26:40

        Le mieux avec les erreurs signalées par le compilateur, c'est de les copier-coller à la souris et de les mettre ici, avec le bouton </> et "plain (text)".

        • Partager sur Facebook
        • Partager sur Twitter
          14 novembre 2022 à 19:49:28

          robun a écrit:

          Le mieux avec les erreurs signalées par le compilateur, c'est de les copier-coller à la souris et de les mettre ici, avec le bouton </> et "plain (text)".


          Gravité	Code	Description	Projet	Fichier	Ligne	État de la suppression
          Erreur (active)	E0040	identificateur attendu	
          
          Gravité	Code	Description	Projet	Fichier	Ligne	État de la suppression
          Erreur	C2059	erreur de syntaxe : 'type'	
          
          
          Comme sa @robun ? 		
          


          • Partager sur Facebook
          • Partager sur Twitter
            14 novembre 2022 à 19:57:59

            Plutôt comme ceci

            Code:

            int main(void) {
            	int i;
            	
            	=0;
            	
            	return(0);
            }

            Messages du compilateur:

            id.c: In function 'main':
            id.c:4:2: error: expected expression before '=' token
              =0;
              ^
            id.c:2:6: warning: unused variable 'i' [-Wunused-variable]
              int i;
                  ^
            

            -
            Edité par edgarjacobs 14 novembre 2022 à 19:59:44

            • 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

              14 novembre 2022 à 20:17:04

              Bonjour @Bizzz_,

              J'ai l'impression que tu es sous Visual Studio.

              Pour indiquer précisément les erreurs, il ne faut pas recopier le contenu de la fenêtre "error list" mais plutôt ce qu'il y a dans la fenêtre "output" (ça doit être "sortie" en français) après une compilation.

              • Partager sur Facebook
              • Partager sur Twitter

              En recherche d'emploi.

                14 novembre 2022 à 20:26:18

                Il faut faire exactement ce qu'a fait edgarjacobs :

                − le code ;

                − le message d'erreur complet, avec les numéros de ligne (d'où l'intérêt de poster le code à côté).

                • Partager sur Facebook
                • Partager sur Twitter
                  14 novembre 2022 à 21:49:33

                  Code 

                  #include "image.h"
                  /*Version: VS 2019*/
                  /*OS: W10*/
                  
                  
                  
                  //------------------------------------------------------------------------------
                  // Code source pour le projet d'UE035
                  // description : (les fonctions sont définit dans image.h)
                  //
                  // les pointeurs images dans ce code sont de type : struct fichierimage *
                  //
                  // fonction struct fichierimage * charger(char *)
                  // permet de charger une image presente sur le disque en memoire vive, la fonction
                  // renvoie un pointeur de type : struct fichierimage *
                  //
                  // fonction int enregistrer(struct fichierimage *,char *)
                  // permet d'enregistrer une image sur le disque sous le nom donné en arg2, cette
                  // image est contenue dans une pointeur de type : struct fichierimage * fournit en arg1
                  //
                  // fonction struct fichierimage * nouveau(int,int)
                  // permet de creer une image en memoire de largeur arg1 et de hauteur arg2, la fonction
                  // retourne un pointeur de type : struct fichierimage *
                  //------------------------------------------------------------------------------
                  
                  
                  
                  
                  
                  int main() 
                  {
                      // variable permettant le parcours d'une image
                      int i, j;
                  
                      // exemple de déclaration d'un pointeur image
                      struct fichierimage* fichier = NULL;
                  
                      // exemple pour effectuer un copier coller
                  
                      fichier=charger("Risk.bmp");
                      enregistrer("resultat.bmp",fichier);
                      free(fichier);
                      
                  
                      // modification ou lecture de pixels d'une image
                  
                      fichier = nouveau(1200, 630);
                      for (i = fichier->entetebmp.hauteur;i >= 0;i--)
                          for (j = 0;j < fichier->entetebmp.largeur;j++)
                          {
                              fichier->image[i][j].r = 0;
                              fichier->image[i][j].g = 255 * 0.30;
                              fichier->image[i][j].b = 255 * 0.30;
                          }
                      enregistrer("resultatGris.bmp", fichier);
                      free(fichier);
                  }
                  

                  Message du compilateur : 

                  1>------ Début de la génération : Projet : TratImage, Configuration : Debug Win32 ------
                  1>main.c
                  1>D:\Desktop\tp image\main.c(40,5): error C2059: erreur de syntaxe : 'type'
                  1>Génération du projet "TratImage.vcxproj" terminée -- ÉCHEC.
                  ========== Génération : 0 a réussi, 1 a échoué, 0 à jour, 0 a été ignoré ==========
                  

                  Ah oui je vois comme ça c'est mieux je suppose.

                  • Partager sur Facebook
                  • Partager sur Twitter
                    14 novembre 2022 à 22:18:10

                    Heu... c'est bien un compilateur C ? (Ou alors les messages d'erreur ne sont pas standard ?)

                    -
                    Edité par robun 14 novembre 2022 à 22:18:44

                    • Partager sur Facebook
                    • Partager sur Twitter
                      14 novembre 2022 à 22:43:15

                      Heu... oui oui c'est bien un compilateur C ...
                      • Partager sur Facebook
                      • Partager sur Twitter
                        15 novembre 2022 à 0:04:59

                        Bon, tu ne montre pas tout le code, il manque image.h

                        Si 5 dans (40,5) est le nombre de caractères depuis le début de la ligne, c'est le type de fichier qui doit poser un problème à la ligne 40.

                        Edit: mais je n'aime pas jouer aux devinettes.

                        -
                        Edité par edgarjacobs 15 novembre 2022 à 1:06:51

                        • 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

                        Problème identificateur attendu

                        × 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