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 :

Erreur C2664 : cannot convert parameter 3 from 'double *__w64 ' to 'double &'


Sujet :

C++

  1. #1
    Candidat au Club
    Inscrit en
    Janvier 2007
    Messages
    2
    D�tails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 2
    Par d�faut Erreur C2664 : cannot convert parameter 3 from 'double *__w64 ' to 'double &'
    Bonjour,

    J'ai un probl�me � la compilation.
    J'ai une classe
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    class calculator
    {   public:
     int add(double a, double b, double &result);
    }
    et je souhaite l'appeller dans le main :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    int main(){
            calculator c; 
    	double n;
    	std::cout<<c.ns__add(2, 3, &n);
    }
    A la compilation j'ai une erreur :
    cannot convert parameter 3 from 'double *__w64 ' to 'double &'
    A reference that is not to 'const' cannot be bound to a non-lvalue

    Je ne sais pas trop qu'est-ce que le compilo n'aime pas. Si quelqu'un pouvait m'expliquer cela serait fort aimable.

    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 : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par d�faut
    Ta fonction attend une r�f�rence sur double, or toi tu lui passes un pointeur sur double. Passer une r�f�rence ne requiert aucune syntaxe particuli�re :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    double n;
    std::cout<<c.ns__add(2, 3, n);

  3. #3
    Expert �minent
    Avatar de M�dinoc
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 41
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 397
    Par d�faut
    Citation Envoy� par Laurent Gomila
    Ta fonction attend une r�f�rence sur double, or toi tu lui passes un pointeur sur double. Passer une r�f�rence ne requiert aucune syntaxe particuli�re
    H�las.

    C'est dans des cas comme �a qu'on passe une apr�s-midi � d�boguer avant de se rendre compte que n est pass� par r�f�rence.
    Et quand on vient du C, c'est encore pire...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parl� avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  4. #4
    Candidat au Club
    Inscrit en
    Janvier 2007
    Messages
    2
    D�tails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 2
    Par d�faut
    Merci de vos r�ponses et je rougis de honte devant ma question

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. R�ponses: 1
    Dernier message: 19/01/2009, 15h36
  2. R�ponses: 20
    Dernier message: 23/01/2007, 15h34
  3. Type mismatch: cannot convert from Integer to int
    Par littleb dans le forum Eclipse Java
    R�ponses: 8
    Dernier message: 16/10/2006, 22h35
  4. R�ponses: 2
    Dernier message: 31/01/2006, 14h31

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