On 25 July 2011 18:04, Nathan Ridge <zeratul976@hotmail.com> wrote:
struct S : boost::noncopyable
{
S(S&&) = default;
};
The problem is that the default move constructor for S tries to move the
noncopyable base subobject, but noncopyable does not have a move
constructor (one isn't generated implicitly because a user-defined copy
constructor is present). Then it tries to fall back to the noncopyable
copy constructor, but that of course is private.