Bonjour,
J'ai crée une fonction qui en génère une autre de la manière suivante :
À partir de cela, je souhaiterais obtenir un pointeur sur fonction double (*ptr) (const t_vector &).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 std::function<double (const t_vector &)> get_fun(double c) { return [c](const t_vector & x) { return c*x; }; }
Pour se faire, j'ai fait :
Malheureusement, j'obtiens l'erreur : erreur de segmentation (core dumped).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 std::function<double (const t_vector &)> f = get_fun(c); typedef double (*MyFun) (const t_vector &); MyFun * ptr = f.target<MyFun>(); cout << (*ptr)(vec) << endl;
De toute évidence, les types ne doivent pas correspondrent...
Help !
En vous remerciant d'avance,
Nicolas.
Partager