32Fermer34
deleted2Le 31/08/2010 à 14:29
Pwic


J'ai écrit ce proto :
int pdtlib__ManageArgs (CMDLINE* CmdLine, const char* OptList, int (*Callback)(int Status), void (*SwitchFunc)(char Sign), ...)
Puis j'initialise la liste d'arguments variables ainsi :
	va_list FuncList;
    va_start(FuncList, SwitchFunc);

Enfin, j'essaye d'appeler une des fonctions contenue dans cette liste variable :
va_arg (FuncList, (*))(Sign); // Sign est un char
Mais bon, visiblement, c'est pas comme ça qu'il faut lui parler... Peut-être que ma manière de passer le type à va_arg [(*)] est mauvais ?

C'est la première fois que j'utilise les va_*. J'y avais jamais pensé, mais si j'arrive à faire marcher ça, c'est surpuissant.

ps -> j'ai regardé les macro dans stdarg.h, j'ai... euh... pas tout compris ^^