Jared McIntyre <jmcintyre <at> dfsoftware.com>
writes:
>
> Peter Dimov <pdimov <at> mmltd.net>
writes:
>
> > One reason that nobody caught it is that it fails
only with class/struct
> > return types. Compilers are a lot of fun.
> >
> > Not.
> >
> > Here's a minimal example that demonstrates the
issue, if someone
would like
> > to take this to MS. As a regression against 7.1,
it might receive
a
> > priority:
>
> Thanks for looking into this. I can submit it to them
when I get in on
Monday. I
> assume you meant to put it against VS8? I only have SP1
at work, did
you
> reproduce this on the base 8.0 release?
>
> Jared
Ok, I finally have some information to report back. The
issue is definitely
a bug in the VS 8 and VS 8 SP1 compilers. Microsoft is now
aware of the
bug, but does not believe that they will fix it in time for
the VS 9 release.
Their recommendation is to prewrap the member function in a
mem_fn
call before the bind:
#include <boost/bind.hpp>
#include <boost/mem_fn.hpp>
#include <string>
class WarningTest
{
public:
WarningTest(void)
{
boost::bind(boost::mem_fn(&WarningTest::Function),
this);
}
std::string Function()
{
}
};
They warn not to trust the compiler without this workaround.
They didn't
have any suggestions for workarounds in the boost::bind
code.
Jared
_______________________________________________
Unsubscribe & other changes: htt
p://lists.boost.org/mailman/listinfo.cgi/boost
|