Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1355 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  problème avec des méthodes inline

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

problème avec des méthodes inline

n°1557647
abaddon200​2
Posté le 09-05-2007 à 21:35:17  profilanswer
 

Bonjour,
 
voilà mon problème. J'ai une méthode d'une classe déclarée inline. Lorsque j'essaie de l'appeler depuis un autre endroit dans mon programme, le compilateur m'informe qu'il ne la trouve pas, alors j'inclus le fichier qui en contient le code et à ce moment là, à la compilation, il me dit que la méthode est définie deux fois. Comment faire pour les utiliser ???
 
merci beaucoup pour votre aide.
 
Gilbert.
 
voici ci-dessous un petit code qui vous montre mon problème.
 

Code :
  1. ///////// fichier a.h
  2. #ifndef _A_H_
  3. #define _A_H_
  4. #include <iostream>
  5. class A {
  6. public:
  7.   int getG(void) const;
  8. protected:
  9.   int g;
  10. };
  11. #endif


 

Code :
  1. /////////// fichier a.cc
  2. #ifndef _A_CC_
  3. #define _A_CC_
  4. #include "a.h"
  5. #ifndef _A_GETG_
  6. #define _A_GETG
  7. inline void A::getG(void) const {
  8.    return g;
  9. }
  10. #endif
  11. #endif


 

Code :
  1. ///////// fichier b.h
  2. #ifndef _B_H_
  3. #define _B_H_
  4. #include <iostream>
  5. #include "a.h"
  6. class B {
  7. public:
  8.   int touchVar(A variable);
  9. };
  10. #endif


 
avec ce b.cc il me dit qu'il ne trouve pas getG()

Code :
  1. ///////// fichier b.cc
  2. #ifndef _B_CC_
  3. #define _B_CC_
  4. #include b.h
  5. int B::touchVar(A variable) {
  6.   return = variable.getG();
  7. }
  8. #endif


 
et si je modifie b.cc comme ci-dessous, j'aurais une double définition

Code :
  1. ///////// fichier b.cc
  2. #ifndef _B_CC_
  3. #define _B_CC_
  4. #include b.h
  5. #ifndef _A_GETG_
  6. #define _A_GETG
  7. inline void A::getG(void) {
  8.    return g;
  9. }
  10. #endif
  11. int B::touchVar(A variable) {
  12.   return = variable.getG();
  13. }
  14. #endif

Message cité 1 fois
Message édité par abaddon2002 le 09-05-2007 à 21:37:39
mood
Publicité
Posté le 09-05-2007 à 21:35:17  profilanswer
 

n°1557648
_darkalt3_
Proctopathe
Posté le 09-05-2007 à 21:37:06  profilanswer
 

a priori le sujet a été abordé => fonction recherche


---------------
Töp of the plöp
n°1557771
Taz
bisounours-codeur
Posté le 10-05-2007 à 09:32:35  profilanswer
 

abaddon2002 a écrit :


inline void A::getG(void) {
   return g;
}
#endif
 
int B::touchVar(A variable) {
  return = variable.getG();
}
#endif
 
[/cpp]

[:quoted]Apprends le C++ un minimum avant d'aller plus loin.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  problème avec des méthodes inline

 

Sujets relatifs
Problème de compilationC# - Windows Forms - problème affichage des formes
probleme combobox sous IEProbleme avec Fenetre GLUT
probleme de formulaire généré en Javascript[ANTLR] SOS : Problème sur des caratères
[C+GTK] Scrollbar qui pose problèmecours de C++, problème !
[résolu] Génération de graphique Excel, problème de location[C C++] problème Gnu scientific library 1.8 avec Dev-C++
Plus de sujets relatifs à : problème avec des méthodes inline


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR