如何在类中创建移动attr构造函数?

时间:2015-04-07 14:31:41

标签: c++

我试图在我的班级中创建一个移动属性构造函数。

我的班级是日期类。它具有以下属性:日,月和年。像这样:

private:
     int day;
     int month;
     int year;

我试图这样打电话:

 Date& Date::operator =(Date&& data) {
   day = data.day;
   month = data.month;
   year = data.year;

   data.day = 0; data.month = 0; data.year = 0;
   return *this;
}

在我的Date.h

 Date& Date::operator =(Date&& data);

错误: - 额外资格'日期::'在会员'运营商='在Date.h中 - 预期','或者' ...'之前'&&'代币 什么是错的?

由于

1 个答案:

答案 0 :(得分:2)

标题中的这一行:

 Date& Date::operator =(Date&& data);

应该在类定义中声明,在这种情况下,Date ::最多是不必要的,最坏的情况下可能会导致有趣的错误。

如果在课堂定义之外宣布,那就错了。