Default Move Constructor in Visual Studio 2013 (Update 3)

I know that you cannot mark move constructors as default, but that does not imply that the compiler does not support generating default move constructors all-together

Unfortunately, that’s exactly what that means. VS2013 does not support implicit generation of move constructors and move assignment operators. If it did, they wouldn’t really have a reason to disallow the = default syntax, especially since you’re allowed to do that for the copy constructor and assignment operator.

Quoting MSDN: Support For C++11 Features (Modern C++)

“Rvalue references v3.0” adds new rules to automatically generate move constructors and move assignment operators under certain conditions. However, this is not implemented in Visual C++ in Visual Studio 2013, due to time and resource constraints.

Leave a Comment