Recent versions of libsigc++, glibmm, gtkmm, etc. require C++11. With
C++11 the standard library contains many new classes and functions. Lazy
application programmers who don't want to write the names of namespaces
again and again, instead write e.g.
using namespace std;
using namespace sigc;
using namespace Glib;
using namespace Gtk;
If you do that, you're likely to get in trouble, when you enable your
compiler's C++11 features, because suddenly the STL header files declare
many new symbols. The compiler's error messages may or may not point you
in the right direction. If you're lucky, you will be told that a
function call is ambiguous. If not, the compiler will e.g. silently
choose std::bind() (new in C++11), when you tried to call sigc::bind(),
but didn't write sigc::. But then the compiler won't be silent any more.
The functor that std::bind() returns probably doesn't fit into the rest
of your code, and you may get very cryptic error messages.
Several application programs have met with new name clashes. See e.g.
https://bugzilla.gnome.org/show_bug.cgi?id=759732
https://bugzilla.gnome.org/show_bug.cgi?id=755750, especially comment 9
_______________________________________________
libsigc-list mailing list
libsigc-list@gnome.org
https://mail.gnome.org/mailman/listinfo/libsigc-list