Apparently f1() _is_ called, but with a reference pointing to a wrong place in memory...
#include <iostream> #include <sigc++/sigc++.h> namespace { void f1 (int& x) { x = 1; } void f2 (int* x) { *x = 1; } } int main () { int x1 = 0; std::cout << "x1 = " << x1 << '\n'; sigc::slot <void> _f1 = sigc::bind (&f1, x1); _f1 (); std::cout << "x1 = " << x1 << '\n'; int x2 = 0; std::cout << "x2 = " << x2 << '\n'; sigc::slot <void> _f2 = sigc::bind (&f2, &x2); _f2 (); std::cout << "x2 = " << x2 << '\n'; return 0; } _______________________________________________ libsigc-list mailing list libsigc-list@gnome.org http://mail.gnome.org/mailman/listinfo/libsigc-list