Entre autre c'est accumulation, le truc c'est que je veux le faire en liant des classe SDL entre elle, ( un peu plus compliqué que additionGeniale )
ça marche si l'argument est seul, ou bien s'il y en a 2. ( le 2nd devient dépendant du premier et le 1er du second en gros ).
mais si je veux en mettre 3 dépendant entre eux : je doit d'abord mettre le 1er dépendant avec le 2nd puis le 2nd avec le 3ème ( ou bien le 1er avec le 3ème ) pour qu'il soit tout les trois dépendant.
En gros faudrait appeler récursivement cette fonction avec le 1er arg et le 2ème , puis le 1er et le troisième, puis le 1er et le 4ème jusqu'à ce qu'il n'y est plus d'argument ( ou bien 1er / 2 eme , 2eme / 3eme , etc..).
Merci pour votre aide, mais avant de me lancer dans une longue longue... recherche, j'aimerai bien savoir ce qui correspond le mieux
donc pour l'instant on hésite entre : std::accumulate / variadic template / et itérateurs c'est bien ça ?
Haha , non si on règle le problème pour X ou pour Y, ça me règle le problème un truc dans ce genre sinon : Somme((int[]){val1,val2,val3});
Mais pour avoir la taille Vector est pas mal, aux moins ça règle mon problème Y. Mais oui il y a le problème X xD
qui veux que mes classe soit utilisable le plus simplement possible, donc pouvoir appeler cette fonctions sans parler de vecteur ( le plus simple d'utilisation pour un utilisateur lambda );
En effet va_list règle le problème sans soucis sujet résolut gracias
Je t'avoue qu'a première vu, j'ai du mal a bien comprendre, ça à l'air d'être utile si on ne connais pas le type des arguments non définis en tout cas.
Le problème avec les itérateurs de la STL, c'est qu'il n'y a pas d'itérateur sur un groupement de valeur. Et faire des groupes avec des templates variadiques est extrêmement complexe si on ne possède pas de connaissance en méta-prog.
pourquoi s'embeter a créer une telle fonction, en c++ tu a la surcharge de l'opérateur + en programmation orientée object cf le cours d'openclassroom qui explique cela bien (même si certain points sont dépréciés par la communauté mais je ne connais pas d'autres cours de c++ complet hormis le cours de gbdivers qui n'est pas encore fini)
un projet ? Fait le ou ne le fait pas, il n'y a pas d'essai.
Oublie les variadics du C, c'est une catastrophe -- car il faudra aussi passer le nombre d'éléments et prier que tu ne t'es pas trompé dans les paramètres passés. Choisis plutôt entre:
- std::vector -- le plus simple
- les variadic templates du C++ -- qui n'a d'intérêt que pour des cas vraiment connus à la compilation
- les initialiser-list -- le second plus simple, mais surprenant en syntaxe
Je n'avais pas vu les derniers messages avant de poster. Du coup je me rends compte de n'avoir absolument pas comprit cette histoire de dépendance.
Je suppose que la condition "indexRead >= 0" sur le dernier paramètre qui doit alors être 0 ? Avec des variadiques template, le code avec des va_* serait simplement: (addLinkedAnim(animIndexMaster, indexRead), ...); sans besoin de mettre un zéro terminal.
@lmghs: J'ai du mal à voir où se situe la surprise avec initializer_list ?
@jo_link_noir, c'est dans les accolades supplémentaires, mais nécessaires, qui peuvent surprendre l'utilisateur qui voudrait passer ses paramètres directement.
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Eug
Eug
Posez vos questions ou discutez informatique, sur le Discord NaN | Tuto : Preuve de programmes C