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