valeur par défaut

valeur par défaut - C++ - Programmation

Marsh Posté le 27-09-2010 à 10:43:01    

Salut à tous,
 
j'ai une fonction qui prend en argument, une ref vers une instance d'une classe et un entier :  
[cpp]
void MaFonction(Objet monObjet, int entier)
[\cpp]
 
Je voudrais faire en sorte que la valeur par défaut de entier soit la valeur de retour d'une fonction membre de Objet, un truc comme ça :  
 
[cpp]
void MaFonction(Objet monObjet, int entier = monObjet.membre());
[\cpp]
 
Est-ce que c'est possible ?

Reply

Marsh Posté le 27-09-2010 à 10:43:01   

Reply

Marsh Posté le 27-09-2010 à 11:02:13    

Non.  L'expression est evaluee dans le contexte de la declaration donnant la valeur et non dans le contexte appelant ni dans le contexte de la fonction.  En general, monObjet designe donc une variable globale mais pas le parametre ni une variable locale a la fonction faisant l'appel.


---------------
The truth is rarely pure and never simple (Oscar Wilde)
Reply

Marsh Posté le 27-09-2010 à 11:29:06    

Rien ne t'empêche d'avoir:
 

Code :
  1. void f(Object o, int i);
  2. void f(Object o) { f(o, o.member()); }

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed