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 :

Fonction:Erreur retour de parametre


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Inscrit en
    Mai 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Mai 2009
    Messages : 7
    Par défaut Fonction:Erreur retour de parametre
    Le but du programme est tout simplement d'afficher deux valeurs, d'appeler une fonction qui va en permuter les valeurs, puis d'afficher les nouvelles valeurs à la fin... (La transmission des paramètres est faite par valeur.)

    Cependant, les choses ne fonctionnent pas comme prévu.. à l'affichage final, les valeurs de départ sont toujours celles qui sont affichées et je n'arrive pas à comprendre mon erreur... si quelqu'un a une idée, je suis tout ouie!

    Voici le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
     
    #include <iostream>
    #include <string>
    using namespace std;
     
    //Déclaration prototype de fonction
    void Permuter(int A, int B);
     
     
    void main(void)
     
    {
     int I,J;
     
     I = 3;
     J = 10;
     
     cout << "I = " << I << "	J = " << J <<endl;
     Permuter(I,J);
     
     cout << "I = " << I << "	J = " << J <<endl;
    }
     
     
    // Fonction pour permuter
     
    void Permuter(int A, int B)
    { 
    	int Tampon;
     
    	Tampon = A;
     
    	A = B;
    	B = Tampon;
     
     
    }
    Merci!

  2. #2
    Alp
    Alp est déconnecté
    Expert confirmé

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Par défaut
    Salut,

    Quand tu passes tes arguments par valeur, comme dans (int A, int B), la fonction va faire des copies des valeurs que tu lui as données et travailler sur ces copies. En l'occurence, elle va échanger les valeurs des copies. Mais à la fin, quand la fonction se termine, les valeurs des copies ne vont pas être mises dans les arguments de la fonction.

    C'est pourquoi je te conseille de te renseigner sur les références et les pointeurs, ce que tu peux trouver dans ton livre préféré sur le C++, la FAQ C++ ici-même ou encore les cours C++ disponibles en ligne ici.

  3. #3
    Membre régulier
    Inscrit en
    Mai 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Mai 2009
    Messages : 7
    Par défaut
    Merci pour la réponse!

    Le problème est résolu, la solution par valeur était tout simplement d'effectuer l'affichage des valeurs à l'intérieur de la fonction directement, puisqu'elles ne sont que copiées!

  4. #4
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    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 395
    Par défaut
    Sauf que là, tu contournes les problème plutôt que le résoudre, et si c'est un exercice demandé par ton prof, tu es bien parti pour un zéro.

    http://emmanuel-delahaye.developpez....ge=Page3#LXIII
    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.

Discussions similaires

  1. erreur retour fonction t_optmgmt
    Par pepito31 dans le forum C
    Réponses: 0
    Dernier message: 16/12/2010, 15h46
  2. Réponses: 8
    Dernier message: 14/12/2007, 17h12
  3. retour fonction erreur execution 91
    Par samtheh dans le forum VBA Access
    Réponses: 2
    Dernier message: 31/05/2007, 11h53
  4. Retour de parametres dans une fonction
    Par totoc1001 dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 06/02/2007, 13h53
  5. [FLASH MX] Fonction et passage de parametre
    Par noarno dans le forum Flash
    Réponses: 6
    Dernier message: 21/07/2004, 15h55

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