I have just spent several hours digging out a compile problem which turned
out to be a conflict between Boost.Bind and Boost.Lambda, which seems
to arise because the Boost.Bind placeholders (_1, etc.) are in the global
namespace, so if "using namespace boost::lambda;" is in effect the Bind
placeholder is used rather than the Lambda placeholder.

I wonder why the Bind placeholders are in the global namespace?

Thanks, Rob.