我試圖建立一個拷貝構造函數,我得到這個錯誤過客「常量類2」爲「本」的論點「廉政的Class1 :: GET_DATA()」丟棄預選賽
class Class1{
public:
int get_data();
void set_data(int);
private:
int d;
};
int Class1::get_data(){
return d;
}
void Class1::set_data(int data){
d = data;
}
class Class2 : public Class1{
Class2(const Class2&);
};
Class2::Class2(const Class2 &c2) : Class1(){
set_data(c2.set_data());
}
什麼解決這個問題。我閱讀了一些以前的問題,我明白爲什麼會發生這種情況。但是set_data()const不是一個選項。
什麼是複製構造函數的公認方法?
感謝,
你沒有提供足夠的參數'c2.set_data()'的'的Class2'的構造體。另外'set_data()'返回'void',所以你不能使用它的「值」傳遞給'set_data()'。問題標題中的錯誤消息與您發佈的代碼不匹配。 –