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 :

Pb compilation C++ functions inline 'used but never defined'


Sujet :

C++

  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2011
    Messages : 23
    Points : 21
    Points
    21
    Par défaut Pb compilation C++ functions inline 'used but never defined'
    [3DArchi] Suite à cette discussion [/3DArchi]

    Avec gcc j'ai toujours implémenté mes fonctions inline dans le cpp ... Et là ça ne marche plus pour UNE méthode alors que dans la même classe il y a une méthode inline définie dans le cpp et GCC ne bronche pas ...

    J'appelle ça une erreur alien... totalement incompréhensible.

  2. #2
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Points : 13 017
    Points
    13 017
    Par défaut
    salut,

    Sans exemple de code, difficile d'expliquer la différence...

  3. #3
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2011
    Messages : 23
    Points : 21
    Points
    21
    Par défaut
    Bonjour

    Un exemple ? Voici le code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
          class EventEditor
          {
                private:
                      inline void _driveall () throw(); // avec lui il est content de le trouver dans le .cpp
                public:
                      inline void Enable () throw();  //
                      inline void Disable () throw(); // avec eux il est pas content...
          };
    Note: j'ai des inline définie dans le cpp qui sont public dans d'autres classe (je le dis au cas où)

    Edit:

    Mmh il semblerait que que les autres méthodes inline soient appellées par la même classe, ce qui permettrait la compilation.
    Est-ce possible ?

  4. #4
    screetch
    Invité(e)
    Par défaut
    il suffit que le code soit quelque part lors de la compilation du fichier pour que ca marche.
    Si il est dans un cpp, il faut que le code appelant soit aussi dans le cpp
    si il est dans un autre cpp, ca ne marche pas.
    si il est dans un fichier inclus, il suffit d'inclure ce fichier.
    beaucoup de gens le mettent dans le même fichier header que la calsse qui le declare. Pour ma part, lorsqu'il commence a y avoir beaucoup de code inline, je le mets dans un fichier séparé qui est inclus par le fichier qui contient la classe. A chaque fois que tu inclus le fichier de la classe, tu vas aussi inclure le fichier des methodes inline, elles seront donc toujours visibles.

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

Discussions similaires

  1. [AC-2007] Erreur de compilation sur function DateEchéance
    Par hyperion13 dans le forum VBA Access
    Réponses: 4
    Dernier message: 13/04/2010, 20h09
  2. Erreur de compilation après modification du Uses
    Par DevelOpeR13 dans le forum Langage
    Réponses: 5
    Dernier message: 30/10/2007, 14h23
  3. OPtions de compilation - Switch sur un 'using'
    Par gouliath dans le forum C#
    Réponses: 2
    Dernier message: 13/04/2007, 16h16
  4. [VC++6] Functions INLINE, c'est vraiment efficace ?
    Par AliceD dans le forum Visual C++
    Réponses: 1
    Dernier message: 19/08/2006, 11h45
  5. Réponses: 8
    Dernier message: 15/02/2005, 19h02

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