Xilofeon
Messages postés55Date d'inscriptionmercredi 24 décembre 2003StatutMembreDernière intervention14 avril 2007
-
22 nov. 2005 à 19:27
Xilofeon
Messages postés55Date d'inscriptionmercredi 24 décembre 2003StatutMembreDernière intervention14 avril 2007
-
23 nov. 2005 à 17:32
Bonjour.
Alors gros problème.
J'utilise des fonctions à nombres variables d'arguments. Alors je vais vous montré le code est expliqué aprés car je vois pas trop comment l'expliqué clairement.
voila dans ce cas rien ne vas pas, les variables tmp et tmp2, non rien avoir avec ce qui est injecté dans la fonction get_bool(); normalement j'utilise aussi des pointeurs mais j'ai même pas esayé de voir si il était bon, voyant ce que sa peut donné avec des const char*.
voila merci de votre aide.
PS: si je fait des test dans la fonction get_bool() les valeurs sont bonne.
luhtor
Messages postés2023Date d'inscriptionmardi 24 septembre 2002StatutMembreDernière intervention28 juillet 20086 23 nov. 2005 à 00:23
Mais tu as un problème ici:
va_list varg;
va_start(varg, type);
bool ret = maclass::mafonction(type, varg);
va_end(varg);
je suis pas sur que tu peux utiliser varg comme ca. Il faut que tu
lises tous les objets un par un, puis tu appel ta fonction avec tout
les objets en arguments et non comme tu voudrais le faire, tout les a
arguments en un pointeur (ou je sais pas quoi).
Tu dois surement dabord récupérer les objets avec ca:
int obj;
obj = va_arg(listArg,
int
); <= enfin suivant le type d'objet que tu récupères.
Et après, tu fais maclass::mafonction(type, obj, obj2, obj3);
Mais tes sur d'avoir absolument besoin de faire ce genre de manipulation, ca sent plutot le plantage :)
ekinox17
Messages postés66Date d'inscriptionjeudi 6 octobre 2005StatutMembreDernière intervention18 janvier 2006 23 nov. 2005 à 13:41
moi j'ai une idee : si tu utilisai un tableau dans le lequel tu mettrai
tes variables et apres tu tu fai un sizeof(tableau) pour savoir le
nimbre de tes argument et tu passe le tableau dans ta fonction comme
parametre