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 :

Problème avec macros


Sujet :

C

  1. #1
    Membre émérite
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    2 764
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 764
    Points : 2 705
    Points
    2 705
    Par défaut Problème avec macros
    Bonjour,

    J'ai défini la macro suivante en début de fichier :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    #define WRAPMAX 1.000001f;
    Dans une fonction, elle est utilisée dans le bout de code suivant :

    ss = (AtFloat)fmod(ss, WRAPMAX);
    tt = (AtFloat)fmod(tt, WRAPMAX);

    À la compilation, j'obtiens ceci :

    error C2143: erreur de syntaxe*: absence de ')' avant ';'
    error C2059: erreur de syntaxe*: ')'


    J'aimerais déjà comprendre pourquoi j'obtiens cette erreur.

    Par ailleurs, si je remplace la macro par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    const float WRAPMAX=1.000001f;
    J'obtiens une erreur au linking parce qu'une telle déclaration a déjà été faite dans un autre fichier source.
    Les variables globales sont-elles accessibles aux autres fichiers, même sans mot-clé extern ? Si c'est le cas, comment définir une variable globale, mais uniquement pour le fichier courant ?

    Je suis sous Visual, et mon projet est bien déclaré en C.

  2. #2
    Invité(e)
    Invité(e)
    Par défaut
    Bonjour,

    IL y a un ";" de trop dans ta définition :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    #define WRAPMAX 1.000001f;
    Après, les constantes globales ne doivent être définies qu'une fois : il ne faut pas stocker leur valeur dans un fichier header :

    Code constantes.h : Sélectionner tout - Visualiser dans une fenêtre à part
    extern const float WARPMAX;
    Code constantes.c : Sélectionner tout - Visualiser dans une fenêtre à part
    const float WARPMAX = .123456f;

  3. #3
    Membre émérite
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    2 764
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 764
    Points : 2 705
    Points
    2 705
    Par défaut
    Argh ! Honte à moi !!

    J'avais auparavant déclaré ça comme un const, et comme ça ne fonctionnait pas pour une autre raison (symptôme décrit dans la seconde partie du post initial), j'avais remis l'ancienne version en oubliant d'enlever le ;....



    Merci !!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème avec Macro de génération graphique
    Par Bigasse dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 11/02/2011, 23h54
  2. Problème avec macro globale macro.xla
    Par imer33 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 02/02/2011, 13h37
  3. Problème avec macro "Incompatibilité de type"
    Par Chris1972 dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 20/11/2010, 10h22
  4. [Toutes versions] Problème avec macro Excel pour ouvrir Word
    Par lenul78570 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 30/03/2010, 16h25
  5. Problème avec macro variables
    Par auredura dans le forum Macro
    Réponses: 8
    Dernier message: 17/11/2008, 16h30

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