我試圖在.cpp文件中實現一個.h文件中的虛函數。這是一個任務,所以我不能讓這個功能非虛擬化。這是一個克隆函數,它調用類的拷貝構造函數。功能:C++中的克隆函數
virtual Item* clone() const;
是班上
Ingredient : public Item {
當我在Ingredient.cpp文件實現它,我有:
Ingredient::clone() const {
return new Ingredient (*this);
}
但是,當我嘗試編譯,我得到這兩個錯誤:
Ingredient.cpp:23:13:錯誤:C++需要所有聲明的類型說明符
Ingredient::clone() const {
^
Ingredient.cpp:24:9:錯誤:不能與類型的右值 '成分*' 中產生
return new Ingredient (*this);
^~~~~~~~~~~~~~~~~~~~~~~~
2錯誤初始化類型 'INT' 的返回對象。
我不明白我在做什麼錯在這裏,因爲我應該利用這個自引用*這個自指針。有什麼建議麼?
缺少返回類型的函數簽名.. http://ideone.com/J0U8wv – Brandon