Bonsoir à tous, ma compréhension des templates oscille entre 1% et 2% de l'affaire selon les jours :-)
Il y a quelque chose que je cherche désespérément à réaliser, sans succès. J'ai eu beau chercher partout, je ne pige pas.
Donc, on imagine un pseudo code comme ça :
Je n'arrive pas à trouver une solution pour passer la fonction de Media à Control, je ne sais pas la stocker et je ne sais pas l'appeler. Très concrètement, je ne sais pas le dire en C++
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 class Media { enum names { velocity, volume, tagada } void setProperty(int prop_name, float value); void setProperty(int prop_name, int value); void setProperty(int prop_name, vector3 value); void setProperty(int prop_name, vector2 value); void setProperty(int prop_name, trucmuche value); } class Control { vector<Media> medias; void registerCallback(adresse_fonction) { medias.push_back(adresse_fonction); } void update() { // parcourir les éléments du vector medias et appeler la fonction avec un valeur arbitraire (valeur du paramètre value) } } main() { Control c; Media m; c.registerCallback(&Media.setProperty(Media::velocity, float)); c.registerCallback(&Media.setProperty(Media::volume, int)); c.update(); }
J'ai regardé <functional>, donc bind, function etc etc mais ça me dépasse
On dit "Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours."
Franchement, donnez moi un poisson parce que je risque de passer quelques années à essayer de comprendre comment fonctionne la cane à pêche![]()
Partager