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 :

Includes et fonctions


Sujet :

C++

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2006
    Messages : 10
    Par défaut Includes et fonctions
    Bonjour,
    Voila mon probleme, j'ai une fonction que je veux utiliser dans plusieurs classes.
    Donc je met ma fonction dans "fonction.h", et je l'inclus dans "class1.h", "class2.h" etc...

    Seulement j'ai un "compile error":


    Engine.obj : error LNK2005: "void __cdecl DrawPixel(struct SDL_Surface *,int,int,unsigned char,unsigned char,unsigned char)" (?DrawPixel@@YAXPAUSDL_Surface@@HHEEE@Z) already defined in main.obj
    Slime.obj : error LNK2005: "void __cdecl DrawPixel(struct SDL_Surface *,int,int,unsigned char,unsigned char,unsigned char)" (?DrawPixel@@YAXPAUSDL_Surface@@HHEEE@Z) already defined in main.obj
    Que faire ?

    Merci d'avance.

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2006
    Messages : 10
    Par défaut
    J'ai reglé le probleme est mettant seulement le prototype de la fonction dans le fichier inclus.

  3. #3
    Membre confirmé
    Inscrit en
    Septembre 2003
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 49
    Par défaut
    Ta fonction n'est pas declaree "inline" ce qui entraine la creation de plusieur copies de celle-ci dans different fichiers obj .

  4. #4
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    Citation Envoyé par chetane
    J'ai reglé le probleme est mettant seulement le prototype de la fonction dans le fichier inclus.
    C'est comme ça qu'il faut faire, les fichiers en-tête ne doivent jamais contenir de définition (à part templates et fonctions inlines) sous peine d'être dupliqués dans chaque .cpp où ils seront inclus.

    Pense aussi à cliquer sur

  5. #5
    Membre émérite
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 064
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 064
    Par défaut
    Juste un truc auquel je pense comme ça, est-ce que ce n'est pas possible aussi de définir une fonction dans un .h en la transformant en "vrai fausse fonction template"?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    template<>
    void bidule() {...

  6. #6
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    Quel serait l'intérêt (inline est là pour ça si réellement on en a besoin) ?

    De toute façon tel quel ça ne compilerait pas.

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

Discussions similaires

  1. Appel includes en fonction du nom de la page
    Par AurelienNF dans le forum Langage
    Réponses: 7
    Dernier message: 09/09/2010, 22h50
  2. facelets:include vs fonction avec paramètre ?
    Par kennygunie dans le forum JSF
    Réponses: 2
    Dernier message: 13/07/2009, 16h51
  3. [MySQL] Encore et toujours un pb avec include en fonction de la langue du nav !
    Par naivenu dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 15/06/2008, 23h37
  4. Include, LNK2005, fonctions opencv
    Par gooze dans le forum C++
    Réponses: 3
    Dernier message: 07/04/2008, 11h22
  5. Include en fonction d'une valeur du xml
    Par Xunil dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 06/07/2007, 19h11

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