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

SL & STL C++ Discussion :

probleme avec fonction surchargée


Sujet :

SL & STL C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Août 2006
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2006
    Messages : 84
    Par défaut probleme avec fonction surchargée
    Bonjour,
    j'ai le probleme suivant lorsque j'utilise la fonction sqrt ou pow :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    error C2668: 'std::pow' : appel ambigu à une fonction surchargée
    1>        c:\program files\microsoft visual studio 9.0\vc\include\math.h(489): peut être 'double pow(double,int)'
    1>        c:\program files\microsoft visual studio 9.0\vc\include\math.h(527): ou       'float pow(float,int)'
    1>        c:\program files\microsoft visual studio 9.0\vc\include\math.h(575): ou       'long double pow(long double,int)'
    1>        lors de la tentative de mise en correspondance de la liste des arguments '(int, int)'
    Voici la fonction et les entetes que j'utilise :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    #include <iostream>
    #include <fstream>
    using namespace std;
    #include <math.h>;
    #include <boost/numeric/ublas/matrix.hpp>
    #include <boost/numeric/ublas/io.hpp>
    #include <time.h>
    #include <vector>
    #include <boost/lexical_cast.hpp>
    void postproc(std::vector<std::vector<boost::numeric::ublas::matrix<float>>> data) {
     
    	using namespace boost::numeric::ublas;

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 294
    Détails du profil
    Informations personnelles :
    Localisation : Royaume-Uni

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 294
    Par défaut
    Salut,

    Utilise <cmath> (resp. <ctime>) et non <math.h> (resp. <time.h>).

    MAT.

  3. #3
    Expert confirmé

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Billets dans le blog
    3
    Par défaut
    Citation Envoyé par le_voisin Voir le message
    Bonjour,
    j'ai le probleme suivant lorsque j'utilise la fonction sqrt ou pow :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    error C2668: 'std::pow' : appel ambigu à une fonction surchargée
    1>        c:\program files\microsoft visual studio 9.0\vc\include\math.h(489): peut être 'double pow(double,int)'
    1>        c:\program files\microsoft visual studio 9.0\vc\include\math.h(527): ou       'float pow(float,int)'
    1>        c:\program files\microsoft visual studio 9.0\vc\include\math.h(575): ou       'long double pow(long double,int)'
    1>        lors de la tentative de mise en correspondance de la liste des arguments '(int, int)'
    Pourtant le compilo est bien précis:
    Il dit que tu appelles "std::pow(int,int)"... et qu'il a un "std::pow(double,int)" un "std::pow(float,int)" un "std:pow(long double,int)" mais pas de "std::pow(int,int)"...
    Il doit donc faire de la promotion de type sur le premier argument, mais du coup, il sait pas trop lequel des trois version utiliser (il faut que tu fasses le cast du premier int dans la bonne version).

Discussions similaires

  1. [Mail] probleme avec fonction mail() !!!
    Par H-bil dans le forum Langage
    Réponses: 6
    Dernier message: 19/06/2006, 23h45
  2. C++ - Probleme avec fonction virtuelle
    Par vdumont dans le forum C++
    Réponses: 1
    Dernier message: 20/03/2006, 20h49
  3. probleme avec fonctions
    Par Burinho dans le forum C
    Réponses: 8
    Dernier message: 29/12/2005, 21h28
  4. Réponses: 17
    Dernier message: 24/03/2005, 12h24
  5. [langage] problème avec fonction read
    Par domidum54 dans le forum Langage
    Réponses: 2
    Dernier message: 30/03/2004, 20h42

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