Bonjour.
Je souhaite utiliser une fonction avec un nombre variable de paramètres, et ces derniers doivent être des classes. Je sais que, lorsqu'il fautr passer des classes en paramètres, il faut les déclarer comme étant des const MaClasse &.
Je déclare donc dans le fichier .h une fonction comme ceci :
void MaClasse::MaFonction(const MaClasseX & m1, ...);
J'ai eu le même problème, va_arg étant une fonction en C, je crains qu'elle n'accepte pas les classes. moi pour contourner ce problème j'avais passé en paramètre le pointeur vers la classe, et va_arg récupèrait ce pointeur en pointeur générique: void *pointeur=va_arg(varg,void *);
et j'utilisait: MaClasseX mptr = static_cast <const CComBSTR &> (pointeur)
Mais static_castest très lent, il prend 0.5 millisecondes je crois.
Tu peut peut-être le remplacer (pas sûr):
Ce que j'ai écrit a peut-être des erreurs mais c'est à peu près comme cela que tu peut contourner le problème tout en gardant va_arg
Mais sinon tu peut utliser les vectors de la STL comme te disait vortex666 ce qui est plus simple et plus rapide.
__________________________
n'hesitez pas à visiter Mon site et surtout Mon Tutorial C