The implicitly-declared copy constructor is deleted if there is a user-defined move constructor. See: https://en.cppreference.com/w/cpp/language/copy_constructor#...
So if you define a move constructor and still want your class to have a copy constructor, you'll have to explicitly define the copy constructor, too.