首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >移动构造函数-默认构造函数VS 2013的类型无效

移动构造函数-默认构造函数VS 2013的类型无效
EN

Stack Overflow用户
提问于 2014-07-04 20:07:51
回答 1查看 7.5K关注 0票数 25

我正在阅读关于移动构造函数的文章,我在VS2013中做了这段代码……

代码语言:javascript
复制
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&& ):不是一个可以默认的特殊成员函数“……

谁能给我解释一下为什么会出现这个错误?

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24573963

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档