Я читал о конструкторе перемещения, и я сделал этот код в VS 2013...
class Student
{
unique_ptr<string> pName_;
public:
Student(string name) : pName_(new string(name)) { }
~Student() { }
Student(Student&&) = default; // Here I get the error.
void printStudentName(void) { cout << *pName_ << endl; }
};
int main(void)
{
vector<Student> persons;
Student p = Student("Nishith");
persons.push_back(std::move(p));
persons.front().printStudentName();
return 0;
}
Я получаю "Student::Student(Student&& )
: не является специальной функцией-членом, которую можно использовать по умолчанию", когда я пытался ее скомпилировать...
Может кто-нибудь объяснить мне, почему я получаю эту ошибку?