我正在阅读关于移动构造函数的文章,我在VS2013中做了这段代码……
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&& )
:不是一个可以默认的特殊成员函数“……
谁能给我解释一下为什么会出现这个错误?
https://stackoverflow.com/questions/24573963
复制相似问题