我试图在我的班级中创建一个移动属性构造函数。
我的班级是日期类。它具有以下属性:日,月和年。像这样:
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中 - 预期','或者' ...'之前'&&'代币 什么是错的?
由于
答案 0 :(得分:2)
标题中的这一行:
Date& Date::operator =(Date&& data);
应该在类定义中声明,在这种情况下,Date ::最多是不必要的,最坏的情况下可能会导致有趣的错误。
如果在课堂定义之外宣布,那就错了。