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

  FORUM HardWare.fr
  Programmation
  C++

  Conflit fonctions C / C++

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Conflit fonctions C / C++

n°1040455
Bi$cotte
:o
Posté le 08-04-2005 à 16:53:53  profilanswer
 

Salut,
 
Voilà j'ai un petit poblème que je vois pas trop comment resoudre ..
J'ai une classe A dans laquelle j'ai entre autre deux fonctions membres :
 

Code :
  1. class A {
  2. ...
  3. public:
  4.   void open (const char* name, int base);
  5.   void close ()
  6. ...
  7. };


 
Mon problème c'est que dans la fonction A::open je fais appel à la fonction open de l'API système Linux et que le compilateur (gcc 3.3.5, celui par defaut sous Debian unstable) ne veut pas utiliser la fonction open de l'API système mais bien celle de ma classe A ...
Je sais pas comment indiquer au compilateur de pas utiliser l'open de ma classe mais bien celui qui provient de la bibliothèque C ..
J'ai le même problème avec close, quand je veux utiliser le close de l'API système le compilo m'envoie bouler parce qu'il n'a pas de fonction close avec un paramètre (le descripteur de fichier), il ne connait que le close de ma classe A.
 
Je précise que les includes sont bons puisque si je renomme mes fonctions A::open et A::close, ca se passe bien, ca compile et ca marche \o/.
C'est d'ailleurs la seule solution que j'ai pour le moment.
Le problème c'est que y'a plein de fichiers qui utilisent ces fonctions et que j'ai pas envie de devoir tout modifier.
 
Stagiaire qui reprend du code dégueu powa :(
 
Merki.


Message édité par Bi$cotte le 08-04-2005 à 16:54:55
mood
Publicité
Posté le 08-04-2005 à 16:53:53  profilanswer
 

n°1040470
Lam's
Profil: bas.
Posté le 08-04-2005 à 17:06:12  profilanswer
 

Bah tu utilises le namespace global.  
 
 

Code :
  1. // Donc soit tu fais un:
  2. using ::open; // (je suis pas sûr que ça marche)
  3. //Soit tu les appelles directement comme ça:
  4. ::open(bidule);


n°1040509
Bi$cotte
:o
Posté le 08-04-2005 à 17:19:32  profilanswer
 

Wouaillle [:iorili]
Ben merci beaucoup c'était pas plus compliqué que ça [:petrus75]
L'appel :
 

Code :
  1. ::open (...)


ça marche.
 
Merci beaucoup Lam's  
 
Je savais pas qu'on pouvait appeler le namespace global comme ça, honte a moi :o


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

  Conflit fonctions C / C++

 

Sujets relatifs
Contrôle/fonctions Windows utilisant la base de données TZconflit de bibliothèques d'importations
Savoir si des fonctions sont activées en PHP (phpinfo())?[Programmation Korn Shell] - Création d'une bibliothèque de fonctions
[D7] recenser procédures et fonctions d'un projetCombobox et fonctions (retourner une valeur ?)
explication des fonctions C comme sur www.php.netFonctions incompatibles ???
Appel Fonctions antérieures / portée , a partir d'autres clips ?equivalence fonctions CFM /PHP
Plus de sujets relatifs à : Conflit fonctions C / C++


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