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 :

probleme de compilation


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    382
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 382
    Par défaut probleme de compilation
    Salut !

    J'ai un petit probleme lors de la compilation d'un programme..

    Il me dit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    expected spedifier-qualifier-list before CommandeType
    Voici le code de ce CommandType :

    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
     
    enum CommandType {
      PLAY_ONE_SHOT_SAMPLE,
      START_RECORDING,
      STOP_RECORDING
    };
     
    struct Command {
      CommandType commandType;
      union {
        void* data;  
        PlaySampleSoundCommand playSample;    
        StartRecordingCommand  startRecording;
      };
    };
    Je ne comprends pas cette erreur car tout semble bien définis...
    Si ca parle a quelqu'un..

    Merci d'avance !!

  2. #2
    Rédacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2004
    Messages
    5 840
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840
    Par défaut
    Bonjour,

    Il faut revoir la déclaration d'une variable énumérée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    enum CommandType {
      PLAY_ONE_SHOT_SAMPLE,
      START_RECORDING,
      STOP_RECORDING
    };
    
    struct Command {
      enum CommandType commandType;
      union {
        void* data;  
        PlaySampleSoundCommand playSample;    
        StartRecordingCommand  startRecording;
      };
    };
    Ou utiliser un typedef

  3. #3
    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
    Vu que l'énumaration n'est pas un typedef, tu doit procéder comme ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    enum CommandType commandType;
    sauf si tu en fait un typedef:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    typedef enum CommandType {
      PLAY_ONE_SHOT_SAMPLE,
      START_RECORDING,
      STOP_RECORDING
    };
    [EDIT] mmm réponses croisées ... [/EDIT]
    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 !

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    382
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 382
    Par défaut
    l'ajout du enum lors de la décalration fonctionne par contre pour utiliser le typedef, j'ai du faire ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    typedef enum CommandType {
      PLAY_ONE_SHOT_SAMPLE,
      START_RECORDING,
      STOP_RECORDING
    }CommandType;
    En tout cas, merci beaucoup pour le coup de main !!

  5. #5
    Rédacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2004
    Messages
    5 840
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840
    Par défaut
    Citation Envoyé par gdpasmini
    l'ajout du enum lors de la décalration fonctionne par contre pour utiliser le typedef, j'ai du faire ceci :
    Oui, c'est mieux comme ça
    Par contre évite les noms identiques (en C ce n'est pas génant, en C++ oui), idem pour le nom de ta variable (après 8 heures de code, la différence : c et C n'est pas toujours visible).

    Pour le nom de l'énumération, tu peux ajouter un undescore (surtout pas avant, c'est réservé par la norme) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    typedef enum CommandType_ {
    Ou tout simplement l'enlever (c'est utile dans le cas des structures récursives, par exemple les listes chaînées, mais pas ici).


  6. #6
    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
    Citation Envoyé par gdpasmini
    l'ajout du enum lors de la décalration fonctionne par contre pour utiliser le typedef, j'ai du faire ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    typedef enum CommandType {
      PLAY_ONE_SHOT_SAMPLE,
      START_RECORDING,
      STOP_RECORDING
    }CommandType;
    En tout cas, merci beaucoup pour le coup de main !!
    Oui c'est ca, en fait j'ai oublié de le préciser, d'ailleur tu peux même faire ainsi:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    typedef enum {
      PLAY_ONE_SHOT_SAMPLE,
      START_RECORDING,
      STOP_RECORDING
    }CommandType;
    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 !

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

Discussions similaires

  1. [API][Cup] problem niveau compilation
    Par KoLziG dans le forum Général Java
    Réponses: 1
    Dernier message: 02/01/2005, 19h30
  2. [JSP & TAGLIB] Probleme de compilation
    Par GesMo dans le forum Servlets/JSP
    Réponses: 7
    Dernier message: 17/05/2004, 15h03
  3. Probleme de Compilation de la STL
    Par stoluup dans le forum MFC
    Réponses: 3
    Dernier message: 05/05/2004, 17h25
  4. [TP]Probleme de compilation sous TP7
    Par yffick dans le forum Turbo Pascal
    Réponses: 7
    Dernier message: 18/12/2003, 20h32
  5. Problemes de compilation avec g++ sous linux
    Par Selimmel dans le forum Autres éditeurs
    Réponses: 3
    Dernier message: 19/09/2003, 13h43

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