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 :

Accès fonction d'une librairie depuis un classe


Sujet :

C++

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 42
    Points : 30
    Points
    30
    Par défaut Accès fonction d'une librairie depuis un classe
    Bonjour,

    Je souhaite accéder à une fonction d'une librairie depuis une classe possédant une fonction du même nom.
    Pour simplifier j'ai ça dans "my_tools.h"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    void f(int a){
     
    }
    et ça dans ma classe "T.h"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    class T{
    public:
     
    void f(int a, int b){
     f(a);
    }
     
    }
    et je souhaite utiliser la fonction de "my_tools.h" depuis la classe T. Mon problème est que le compilateur me dit ne pas connaitre la fonction "f" avec un seul paramètre. J'ai pensé à utiliser using depuis la classe T et déclarer "f" en static mais ça ne semble pas marcher.

    Comment dois-je m'y prendre?

    Merci

  2. #2
    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
    Points : 15 920
    Points
    15 920
    Par défaut
    Il faut utiliser l'opérateur de résolution de portée, pour dire au compilo d'appeler la version de f qui se trouve dans la portée globale et non celle de ta classe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    #include "my_tools.h"
     
    class T
    {
    public:
     
        void f(int a, int b)
        {
             ::f(a);
        }
    };

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 42
    Points : 30
    Points
    30
    Par défaut Merci
    Ça marche.

    Merci

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

Discussions similaires

  1. [Free Pascal] Récupérer le nom d'une fonction dans une librairie
    Par franck.thibault dans le forum Free Pascal
    Réponses: 1
    Dernier message: 17/05/2007, 22h08
  2. Réponses: 17
    Dernier message: 15/04/2007, 12h28
  3. utiliser des fonctions d'une librairie C++ en C
    Par vivien313131 dans le forum C
    Réponses: 2
    Dernier message: 30/11/2006, 09h56
  4. Réponses: 3
    Dernier message: 16/01/2006, 16h02
  5. Réponses: 10
    Dernier message: 25/11/2005, 17h12

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