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 :

Passage de paramètre par variable : incrementation qui ne marche pas


Sujet :

C++

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    79
    Détails du profil
    Informations personnelles :
    Âge : 30
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 79
    Points : 63
    Points
    63
    Par défaut Passage de paramètre par variable : incrementation qui ne marche pas
    Bonjour,

    Voila, j'aimerais savoir pourquoi je ne peut pas incrémenter une variable que j'ai passer en paramètre a une fonction :
    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
    #include <cstdlib>
    #include <iostream>
     
    using namespace std;
    void add(int *ab)
    {
         // si je met "*ab+=1;" le programme me renvoi bien 4
         // mais si je met "*ab++" le programme me renvoi 3    
         return;
    }
     
    int main(int argc, char *argv[])
    {
        int a = 3;
        add(&a);
        printf(" : %d\n", a);
        system("PAUSE");
        return EXIT_SUCCESS;
    }
    merci

  2. #2
    Expert éminent sénior
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 275
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 275
    Points : 10 985
    Points
    10 985
    Par défaut
    Parce que tu incrémentes le pointeur, et non sa valeur pointée
    => Utilises des parenthèses
    => Utilises des références (après tout, tu es en C++ et non en C...)
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. Et de toutes façons, ma BAL sur dvpz est pleine...

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    79
    Détails du profil
    Informations personnelles :
    Âge : 30
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 79
    Points : 63
    Points
    63
    Par défaut
    Merci

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

Discussions similaires

  1. [C#] passage de paramètres par référence
    Par SesechXP dans le forum Windows Forms
    Réponses: 3
    Dernier message: 03/08/2006, 12h48
  2. Réponses: 19
    Dernier message: 09/06/2006, 10h03
  3. [C# .NET2] type de passage de paramètre par défaut
    Par gdkenny dans le forum Windows Forms
    Réponses: 4
    Dernier message: 26/04/2006, 10h55
  4. Le passage de paramètres par REFERENCES
    Par yohann_ dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 25/01/2006, 19h47
  5. [EJB] Passage des paramètres par référence
    Par salome dans le forum Java EE
    Réponses: 2
    Dernier message: 05/07/2005, 11h25

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