Question de base

cs_dvlpt Messages postés 19 Date d'inscription jeudi 17 avril 2003 Statut Membre Dernière intervention 12 mai 2009 - 2 sept. 2003 à 16:03
cs_dvlpt Messages postés 19 Date d'inscription jeudi 17 avril 2003 Statut Membre Dernière intervention 12 mai 2009 - 4 sept. 2003 à 09:45
J'ai oublié un concept de base...

J'aimerais déclaré dans une fonction un paramêtre optionnel qui soit renseigné par défaut dans le cas où il ne serait pas précisé....

Comment faire?

Merci

dvlpt.dig

5 réponses

cs_JCDjcd Messages postés 1138 Date d'inscription mardi 10 juin 2003 Statut Membre Dernière intervention 25 janvier 2009 4
2 sept. 2003 à 16:21
un exemple s'il tu plais
je comprend pas ta question !

le paramatre est un argument de la onction, ou est une variable locale, ...

:-p :-p :-p :shy) :-p :-p :-p :shy) :-p :-p :shy)
:shy) :-p :shy) :shy) :-p :shy) :shy) :shy) :-p :shy) :-p
:shy) :-p :shy) :shy) :-p :shy) :shy) :shy) :-p :shy) :-p
:-p :-p :shy) :shy) :-p :-p :-p :shy) :-p :-p :shy)
0
TheRod23 Messages postés 69 Date d'inscription dimanche 15 octobre 2000 Statut Membre Dernière intervention 15 mars 2004
2 sept. 2003 à 16:35
Salut

dans ton prototype de fonction qui se trouve généralement dans le .h

tu met
int FunctionDeTest(int FirstParam, int OptParam = 5);

et lors de ton implémentation de function tu fais
int FunctionDeTest(int FirstParam, int OptParam)
{
<code source>
}

Bon Code
TheRod23
0
cs_dvlpt Messages postés 19 Date d'inscription jeudi 17 avril 2003 Statut Membre Dernière intervention 12 mai 2009
2 sept. 2003 à 18:08
C'est exactement comme ça que j'ai fait. Mais si cet argument n'est pas utilisé lorsque j'appelle ma fonction, je ne retrouve pas la valeur par défaut que j'ai précisé...

dvlpt.dig
0
TheRod23 Messages postés 69 Date d'inscription dimanche 15 octobre 2000 Statut Membre Dernière intervention 15 mars 2004
4 sept. 2003 à 09:35
Salut

tu n'aurais pas surdefini ta fonction avec un seul parametre
sinon envoi moi ton code je regarde

Bon Code
TheRod23
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_dvlpt Messages postés 19 Date d'inscription jeudi 17 avril 2003 Statut Membre Dernière intervention 12 mai 2009
4 sept. 2003 à 09:45
Je vous remercie pour votre aide, j'ai réussi à me sortir de cette situation en conservant la compatibilité avec les anciennes versions du logiciel. Mais ça reste quand même un mystère pour moi...
Le code utilisé était :

pour le .h

NOMANGLE int CCONV GetIdMachine(LPSTR IdMachine, int iProtectMode = 1);

pour le .cpp

NOMANGLE int CCONV GetIdMachine(LPSTR IdMachine, int iProtectMode)
{
...
}

le tout servait donc à créer une dll appelée par d'autres programmes.

Sauf que les anciennes versions n'utilisent pas le paramètre iProtectMode. Et quand elles appelaient ma dll, iProtectMode n'était pas renseigné avec la valeur par défaut...

dvlpt.dig
0
Rejoignez-nous