IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

Boolean pas reconnu ? [Débutant(e)]


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Homme Profil pro
    Ingénieur réseau et sécurité / Consultant
    Inscrit en
    Août 2005
    Messages
    1 068
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur réseau et sécurité / Consultant
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 1 068
    Par défaut Boolean pas reconnu ?
    Salut tout le monde je suis un gros débutant en C. J'ai commencer il y a 1 semaine. Alors voila j'ai une erreur qui revient fréquemment. voici le code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    #ifndef SDLGLUTILS_H
    #define SDLGLUTILS_H
     
    #include <GL/gl.h>
    #include <SDL/SDL.h>
     
    #ifndef GL_CLAMP_TO_EDGE
    #define GL_CLAMP_TO_EDGE 0x812F
    #endif
     
    GLuint loadTexture(const char * filename,bool useMipMap = true);
    int takeScreenshot(const char * filename);
    void drawAxis(double scale = 1);
    int initFullScreen(unsigned int * width = NULL,unsigned int * height = NULL);
    int XPMFromImage(const char * imagefile, const char * XPMfile);
    SDL_Cursor * cursorFromXPM(const char * xpm[]);
     
    #endif //SDLGLUTILS_H
    et voici l'erreur :

    Compiling: main.c
    In file included from main.c:6:
    sdlglutils.h:11: error: syntax error before "bool"
    sdlglutils.h:13: error: syntax error before '=' token
    sdlglutils.h:14: error: syntax error before '=' token


    merci de me donner un coup de main

  2. #2
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 397
    Par défaut
    En effet, le type bool n'existe pas en C.
    Mais on peut toujours le définir sur autre chose avec un typedef. Typiquement, sur un type entier ou enum...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #3
    Membre éprouvé
    Homme Profil pro
    Ingénieur réseau et sécurité / Consultant
    Inscrit en
    Août 2005
    Messages
    1 068
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur réseau et sécurité / Consultant
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 1 068
    Par défaut
    existe-t-il en C++ ? si oui comment mettre mon code en C++ ?

  4. #4
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 397
    Par défaut
    Le type bool existe bel et bien en C++, mais comme je l'ai déjà dit, s'il manque seulement ce type bool, il serait plus simple de le redéfinir...
    Cette ligne de code dans un en-tête devrait suffire.
    Code C : Sélectionner tout - Visualiser dans une fenêtre à part
    typedef enum e_bool { false=0, true=1 } bool;
    ou juste ce code-ci, qui est plus passe-partout :
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  5. #5
    Membre éprouvé
    Homme Profil pro
    Ingénieur réseau et sécurité / Consultant
    Inscrit en
    Août 2005
    Messages
    1 068
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur réseau et sécurité / Consultant
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 1 068
    Par défaut
    merci ! j'ai opté pour le typedef !

    je n'ai effectivement plus l'erreur du bool mais maintenant il me semble que l'on a pas le droit de setter la valeur d'une variable dans les accolade ?

    mon code est comme sa maintenant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    #ifndef SDLGLUTILS_H
    #define SDLGLUTILS_H
     
    #include <GL/gl.h>
    #include <SDL/SDL.h>
     
    #ifndef GL_CLAMP_TO_EDGE
    #define GL_CLAMP_TO_EDGE 0x812F
    #endif
    typedef int bool;
     
    GLuint loadTexture(const char * filename,bool useMipMap = true);
    int takeScreenshot(const char * filename);
    void drawAxis(double scale = 1);
    int initFullScreen(unsigned int * width = NULL,unsigned int * height = NULL);
    int XPMFromImage(const char * imagefile, const char * XPMfile);
    SDL_Cursor * cursorFromXPM(const char * xpm[]);
     
    #endif //SDLGLUTILS_H
    et l'erreur est :

    sdlglutils.h:12: error: syntax error before '=' token
    sdlglutils.h:14: error: syntax error before '=' token
    sdlglutils.h:15: error: syntax error before '=' token


    merci pour votre aide

  6. #6
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 397
    Par défaut
    En effet, les "paramètres par défaut" sont une syntaxe typiquement C++. Et comme je n'ai pas vu ça plus tôt, ça veut dire qu'en plus j'avais mal lu ton code.

    Donc, le type bool n'est plus la seule chose qui te manque, donc autant passer directement en C++.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  7. #7
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    86
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 86
    Par défaut
    Citation Envoyé par Médinoc
    En effet, le type bool n'existe pas en C.
    ah bon norme std c99 :stdbool.h
    http://nicolasj.developpez.com/articles/c99/#LV-E

  8. #8
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par Médinoc
    En effet, le type bool n'existe pas en C.
    Mais on peut toujours le définir sur autre chose avec un typedef. Typiquement, sur un type entier ou enum...
    euhhh.. Moi je ferais plutot un typedef sur char... Tu n'as que 2 valeurs, pourquoi gaspiller de la place ?

  9. #9
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Par défaut
    Si tu utilises la SDL tu peux utiliser sont type booléen soit: SDL_bool et les valeurs sont: SDL_TRUE et SDL_FALSE Autant utiliser les types de la bibliothèque qu'on utilise non ?
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  10. #10
    Membre émérite Avatar de Ceylo
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    1 216
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 216
    Par défaut
    Citation Envoyé par cyrill
    Salut tout le monde je suis un gros débutant en C. J'ai commencer il y a 1 semaine. [...]

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    #ifndef SDLGLUTILS_H
    #define SDLGLUTILS_H
     
    #include <GL/gl.h>
    #include <SDL/SDL.h>
     
    #ifndef GL_CLAMP_TO_EDGE
    #define GL_CLAMP_TO_EDGE 0x812F
    #endif
     
    GLuint loadTexture(const char * filename,bool useMipMap = true);
    [...]
    Si je puis me permettre, commencer à apprendre l'utilisation d'OpenGL après une semaine seulement, c'est du suicide. J'ai quelques bases en OpenGL, et je peux te dire que même avec la bibliothèque SDL, et 4 ans d'expérience (si on peut appeler ça de l'expérience), ce n'est pas du gâteau.

    En plus de ça tu veux utiliser le C++, qui comprend beaucoup plus de notions que le C.

    Tout ça pour dire que tu ne prends pas les chemins les plus faciles… enfin bon c'est toi qui voit.

    Bonne chance tout de même

    P.S.: quant à ta question pour les options, je ne peux pas y répondre car je suis sous Mac , mais content de l'être .

  11. #11
    Membre éprouvé
    Homme Profil pro
    Ingénieur réseau et sécurité / Consultant
    Inscrit en
    Août 2005
    Messages
    1 068
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur réseau et sécurité / Consultant
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 1 068
    Par défaut
    merci de ton info !

    Non mais c'est bon ! en faite je devais créer un projet avec des File en C++ et non pas du C ! Lee plus grand problème était que je ne pouvais pas setter des variables par defaut dans la signature des méthodes en C.

    Ensuite pour ce problème de .h, il ne le trouvait pas parce que je n'avais pas insérer le fichier correctement dans mon projet.

    merci de votre aide

Discussions similaires

  1. DOS: la commande 'more' n'est pas reconnue...
    Par billoum dans le forum Windows Serveur
    Réponses: 8
    Dernier message: 02/05/2006, 17h11
  2. [xmlrad] fichier vbs ou vb pas reconnu
    Par ekmule dans le forum XMLRAD
    Réponses: 17
    Dernier message: 01/02/2006, 16h23
  3. Répertoire Temporary Internet Files pas reconnu par Dir
    Par Cupidon dans le forum VB 6 et antérieur
    Réponses: 10
    Dernier message: 09/11/2005, 11h55
  4. Fiche créée mais pas reconnue par l'application ??
    Par Leesox dans le forum Langage
    Réponses: 8
    Dernier message: 30/10/2005, 15h10
  5. Réponses: 8
    Dernier message: 04/08/2004, 14h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo