#include "boost/signals2.hpp" #include class SignalTest : public boost::signals2::trackable { public: SignalTest() {}; void printInfo(const std::string name, int num) { std::cout << "Signal: " << name << " " << num << std::endl; } }; int main() { boost::signals2::signal sig; SignalTest test1; // sig.connect(boost::bind(&SignalTest::printInfo, test1, _1, _2)); sig.connect(boost::bind(&SignalTest::printInfo, &test1, _1, _2)); sig("Test", 1); { SignalTest test2; // sig.connect(boost::bind(&SignalTest::printInfo, test2, _1, _2)); sig.connect(boost::bind(&SignalTest::printInfo, &test2, _1, _2)); sig("Test", 2); } return 0; }