2015-04-07 80 views
-1

我正試圖在我的類中創建移動屬性構造函數。如何在類中創建移動attr構造函數?

我的課是Date類,它具有以下屬性:日,月和年。就像這樣:

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); 

錯誤: - 額外的資格 '日期::' 的成員'operator ='in Date.h - 在'& &'令牌 之前的預期','或'...'什麼是錯的?

感謝

+0

我複製錯了。編輯。 –

+0

你爲什麼覺得有什麼不對? – 0x499602D2

+1

「怎麼了?」您是否嘗試在發佈它時使用它?你有沒有收到任何錯誤信息?你會得到與你期望的結果不同的結果嗎?你應該先試試看看會發生什麼。 – user463035818

回答

2

這是這一行頭:

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

這應該在類定義中聲明,在這種情況下,日期::充其量是不必要的,在最壞的情況容易引起有趣錯誤。

如果它是在類定義之外聲明的,那就錯了。

相關問題