
6 Aug
2009
6 Aug
'09
10:04 p.m.
Hi! I'm afraid i can't discribe the problem very well, so please see the code: #include <boost/signal.hpp> #include <iostream> using namespace std; typedef boost::signal<void ()> signal_t; typedef boost::signals::connection connection_t; signal_t g_signal; void test_b() { cout << "b" << endl; } void test_a() { cout << "a" << endl; g_signal.connect(test_b); } int _tmain(int argc, _TCHAR* argv[]) { connection_t t = g_signal.connect(test_a); g_signal(); t.disconnect(); g_signal(); return 0; } int the function test_a , I perfer call test_b next signal that mean output is "a b" but test_b is called immediately and the output is "a b b" how can I solve the problem? mos.