-1
Ceci est défini en tant que membre public d'une classe.Comment transmettre un signal boost à une fonction à utiliser ailleurs?
boost::signals2::signal<void (int, std::string, std::string, int)> sigApp;
Vous voulez passer le signal comme celui-ci: -
Application* newApp = new Application(pSn, &mdCache_, &sigApp);
Son utilisation: -
(*sigApp)(Msg.getAsInt(var), var2, var3, var4); //Signal Used
Le programme se ferme ici pendant l'exécution. Comment devrais-je transmettre un signal boost à une fonction?
Merci
Il est lié à une méthode, juste que le signal est élevé dans une classe/méthode différente de celle où il est défini. –
@DarkKnight puis passez l'objet qui contient le signal et exposer une référence à ce signal afin que vous puissiez connecter des rappels ailleurs. Ce n'est probablement pas une bonne idée de passer votre signal nu pour que tout le monde puisse le soulever. –