C++ Compiler Error C2280 “attempting to reference a deleted function” in Visual Studio 2013 and 2015

From [class.copy]/7, emphasis mine: If the class definition does not explicitly declare a copy constructor, a non-explicit one is declared implicitly. If the class definition declares a move constructor or move assignment operator, the implicitly declared copy constructor is defined as deleted; otherwise, it is defined as defaulted (8.4). The latter case is deprecated if the … Read more