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 :

adresse d'une fonction surchargée.


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 67
    Par défaut adresse d'une fonction surchargée.


    Soit une fonction surchargée comme Visual Studio fait depuis deux ou trois versions... Exemple:
    float fabs(float);
    double fabs(double);
    long double fabs(long double);

    je veux récupérer l'adresse de la fonction double fabs(double)... Avant, j'écrivais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    void *Adr = (void *)fabs;
    Maintenant, ca marche plus, à cause de la surcharge...

    message d'erreur:
    'initialisation'*: impossible de convertir de 'overloaded-function' en 'void *'
    1> Le contexte ne permet pas de lever l'ambiguïté de la fonction surchargée
    Euh, on fait comment maintenant???

    Merci.

  2. #2
    Membre émérite

    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    717
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 717
    Par défaut
    Citation Envoyé par deebou Voir le message
    1> Le contexte ne permet pas de lever l'ambiguïté de la fonction surchargée
    Euh, on fait comment maintenant???
    On lui donne du contexte :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    void *Adr = (double (*)(double))fabs;

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 67
    Par défaut la honte...
    La réponse est tellement évidente que j'ai honte d'avoir posé la question...
    Merci.

  4. #4
    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
    Par défaut
    Citation Envoyé par deebou Voir le message
    La réponse est tellement évidente que j'ai honte d'avoir posé la question...
    Merci.
    Tu devrais plutôt avoir honte d'écrire ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    void *Adr = (void *)fabs;
    ou ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    void *Adr = (double (*)(double))fabs;
    .
    Un beau pointeur de fonction:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
       float (*pf1)(float);
       pf1 = &fabs;
       double (*pf2)(double);
       pf2 = &fabs;
     
       long double(*pf3)(long double);
       pf3 = &fabs;

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 15/09/2008, 14h38
  2. adresse d'une fonction dans une structure
    Par VITALTH dans le forum Débuter
    Réponses: 5
    Dernier message: 22/08/2008, 11h02
  3. Réponses: 7
    Dernier message: 30/05/2008, 03h42
  4. Conversion de l'adresse d'une fonction
    Par neerylka dans le forum C++
    Réponses: 2
    Dernier message: 13/09/2007, 09h05
  5. Memoriser l'adresse d'une fonction
    Par Mike91 dans le forum C++
    Réponses: 3
    Dernier message: 23/11/2006, 15h29

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