On 4/8/2012 10:25 AM, Jeffrey Lee Hellrung, Jr. wrote:
Well the accessibility of a member function never influences its position in an overload set (AFAIK). What is *suppose* to happen in C++03 for the above example is that the future::future(rv< future >&) overload gets called, since a future rvalue isn't suppose to be bindable to the argument of the (private and undefined) future::future(future&) overload. That's clearly not happening :( I can't think of a fix other than making your intentions very explicit as you've done above :/
So, does anyone have any insight on the VS10 error? If it's a straightforward compiler bug (not allowing T&& and const T& to be overloaded sets) I think that would have been discovered and get in the way _everywhere_. —John