Salut,
Bonjour : les différents types de fonctions sont très varié en c++ et encore plus maintenant avec le c++11.
J'ai donc décidé de faire une classe qui me sert à stocker des fonctions et des paramètres de fonction en compilation afin de les appeler quand je le veux et de changer les arguments de mes fonctions avant de les appeler quand je le veux à la compilation.
Cette classe peut stocker tout type de fonction (fonctions membre, fonctions non membre (constantes ou non), std::function, etc...) static ou non statique avec ou sans retour.
Le problème se pose avec les fonctions avec un type de retour.
Lors de la compilation, il m'indique une erreur car je ne peux pas convertir un type void* en un type bool sinon je perd de la précision :
Donc j'ai rajouté l'option -fpermissive lors de la compilation et là ça compile.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 R operator()() { (*delegate)(); return reinterpret_cast<R> (delegate->getReturn()); }
Mais j'aimerais dire au compilateur d'autoriser cela que pour ce fichier là car après le problème c'est que il laisse passer beaucoup plus d'erreurs. :/
Partager