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 :

Erreur à la compilation sur un prototype


Sujet :

C

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 11
    Points : 3
    Points
    3
    Par défaut Erreur à la compilation sur un prototype
    Bonjour,
    j'ai une erreur sur le prototype de ma fonction TIRAGE_tirer_carte. Mais quand je met ce prototype autre part que dans mon fichier tirage.h (autre fichier, ou même juste avant ma fonction -ce qui ne sert à rien-) je n'ai aucun souci. J'ai supprimé ce fichier et je l'ai réécrit. Toujours le problème =/ .

    Code - Fichier : tirage.h : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    #ifndef TIRAGE_H_INCLUDED
    #define TIRAGE_H_INCLUDED
     
    #include "poker.h"
    #include <time.h>
     
    void TIRAGE_init ();
    Paquet* TIRAGE_tirer_carte ();
     
    #endif // TIRAGE_H_INCLUDED
    Code - Erreur compilation : Sélectionner tout - Visualiser dans une fenêtre à part
    error: expected '=', ',', ';', 'asm' or '__attribute__' before '*' token

    Merci de m'aider,
    Cordialement,
    Rirola12

  2. #2
    Membre éprouvé Avatar de orfix
    Homme Profil pro
    Inscrit en
    Avril 2007
    Messages
    707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2007
    Messages : 707
    Points : 1 132
    Points
    1 132
    Par défaut
    Tu dois inclure le fichier d'en-tête où est déclaré Paquet.
    To start press any key. (reading screen) Where's the "any" key? I see Esc, Catarl, and Pig Up. There doesn't seem to be any "any" key. Wo! All this computer hacking is making me thirsty. I think I'll order a Tab. (presses TAB key). -- HOMER --

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 11
    Points : 3
    Points
    3
    Par défaut
    Oui oui, la structure Paquet est inclue via poker.h qui lui même inclue un autre fichier qui contiens la structure.

  4. #4
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Points : 50 367
    Points
    50 367
    Par défaut
    Citation Envoyé par rirola12 Voir le message
    Oui oui, la structure Paquet est inclue via poker.h qui lui même inclue un autre fichier qui contiens la structure.
    Même si la structure Paquet (définie dans Paquet.h ?) est inclue dans Poker.h, tu devrais tout de même inclure Paquet.h dans ton fichier afin d'éviter de futures surprises.


    Pour ton problème, vérifie tes gardes d'inclusions dans tes includes (#ifndef TIRAGE_H_INCLUDED)
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 11
    Points : 3
    Points
    3
    Par défaut
    J'ai ré-inclu paquet.h.

    Qu'est ce que je dois y vérifier ?
    J'en ai bien une différente par fichier. Elles sont de plus générées pas codesBlocks et je ne les touche pas.

  6. #6
    Expert éminent sénior

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 603
    Points : 17 913
    Points
    17 913
    Billets dans le blog
    2
    Par défaut
    faudrait voir comment est défini Paquet dans Poker.h (ou dans Paquet.h)..
    "Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".

    Consultant indépendant.
    Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
    C, Fortran, XWindow/Motif, Java

    Je ne réponds pas aux MP techniques

  7. #7
    Expert éminent sénior
    Avatar de diogene
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juin 2005
    Messages
    5 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 761
    Points : 13 926
    Points
    13 926
    Par défaut
    Peut être un ; oublié ou un autre défaut dans poker.h ou dans un fichier inclus par poker.h
    Publication : Concepts en C

    Mon avatar : Glenn Gould

    --------------------------------------------------------------------------
    Une réponse vous a été utile ? Remerciez son auteur en cliquant le pouce vert !

  8. #8
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 11
    Points : 3
    Points
    3
    Par défaut
    J'utilise Paquet à plusieurs autre endroits sans aucun problème, et comme je vous l'ai dit, quand je met mon prototype autre par tel quel, je n'ai pas de souci.
    Code C : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    typedef struct struct_paquet
    {
        Cartes** cartes;
        Ui1 nb_carte_paquet; //Nombre de carte restante dans le paquet.
        Ui1 nb_carte_total; //Nombre de carte initial dans le paquet.
    } Paquet;
    Ui1 = 1 octet

  9. #9
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Points : 50 367
    Points
    50 367
    Par défaut
    Citation Envoyé par ram-0000 Voir le message
    Pour ton problème, vérifie tes gardes d'inclusions dans tes includes (#ifndef TIRAGE_H_INCLUDED)
    Un mauvais copier/coller et tu te retrouves avec 2 includes différents qui ont la même garde d'inclusion et là, c'est le drame
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  10. #10
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 11
    Points : 3
    Points
    3
    Par défaut
    Je confirme tous mes gardes d'inclusions sont différents.

  11. #11
    Expert éminent sénior

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 603
    Points : 17 913
    Points
    17 913
    Billets dans le blog
    2
    Par défaut
    euh....

    Quand des fonctions n'ont pas de paramètres, dans les prototypes il faut le spécifier...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    void TIRAGE_init (void);
    Paquet* TIRAGE_tirer_carte (void);

    Si de plus tu veux pouvoir les appeler d'un autre module que Tirage.c, il est recommandé de les faire précéder du mot-clé "extern"...
    "Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".

    Consultant indépendant.
    Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
    C, Fortran, XWindow/Motif, Java

    Je ne réponds pas aux MP techniques

  12. #12
    Membre habitué Avatar de Gui13
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    157
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2006
    Messages : 157
    Points : 133
    Points
    133
    Par défaut
    Je ne pense pas que ce soit le problème qu'il expose.

    C'est effectivement mieux d'indiquer qu'on ne prend pas d'argument, mais syntaxiquement un Tirage() est tout aussi valable.

    Je penche très sincèrement sur un problème de point-virgule oublié dans un des fichiers .h inclus.

  13. #13
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 11
    Points : 3
    Points
    3
    Par défaut
    J'ai vérifié mes points-virgules.
    Mais quand je bouge mon prototype, l'erreur s'enlève

  14. #14
    Membre habitué Avatar de Gui13
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    157
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2006
    Messages : 157
    Points : 133
    Points
    133
    Par défaut
    Et y aurait pas un caractère non ASCII planqué dans le coin?
    Si tu effaces complètement cette ligne et que tu la réécris à la main ca donne quoi?

  15. #15
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 11
    Points : 3
    Points
    3
    Par défaut
    Citation Envoyé par Gui13 Voir le message
    Si tu effaces complètement cette ligne et que tu la réécris à la main ca donne quoi?
    Ça fait la même erreur

  16. #16
    Membre éclairé Avatar de crocodilex
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    697
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 697
    Points : 858
    Points
    858
    Par défaut
    Qu'y a-t-il dans poker.h ? Peux-tu nous le montrer ?
    Software Failure. Press left mouse button to continue.
    Guru Meditation #0100000C.000FE800

  17. #17
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 11
    Points : 3
    Points
    3
    Par défaut
    Umm, je crois que j'ai trouvé.
    Justement, dans poker.h, j'inclus tous mes headers. C'est le header des headers.
    Sauf que j'inclus aussi tirage.h.

    Pourtant j'ai mes gardes d'inclusions...

Discussions similaires

  1. Erreur de compilation sur une librairie en mode debug
    Par bakaneko dans le forum C++Builder
    Réponses: 2
    Dernier message: 18/05/2006, 16h32
  2. Erreur de compilation sur std::string avec Dev C++
    Par dada57 dans le forum Dev-C++
    Réponses: 4
    Dernier message: 20/03/2006, 18h06
  3. Erreur de compilation sur gaim-vv avec gstrreamer
    Par ZiMo dans le forum Applications et environnements graphiques
    Réponses: 1
    Dernier message: 30/12/2005, 10h41
  4. Erreur à la compile sur VC++ 6
    Par norwy dans le forum Développement
    Réponses: 1
    Dernier message: 10/11/2005, 13h51
  5. Delphi 7 update 1 - Erreur de compil sur SQLExpr
    Par RamDevTeam dans le forum Bases de données
    Réponses: 14
    Dernier message: 02/11/2005, 17h44

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