我有這個類:C++的參考場擲構造
typedef int ID;
typedef int Salary;
class Worker {
protected:
ID id;
Salary& salary;
public:
Worker();
Worker(ID Id, Salary Salary) {
this->id=Id;
this->salary=salary;
}
。 。 。 }
這一個:
class WSalary : public Worker {
public:
WSalary(ID Id, Salary& Salary) {
this->id=Id;
this->salary=Salary;
}
.
.
.
}
,我必須在構造這個錯誤
uninitialized reference member 'Worker::salary' [-fpermissive]
我想在WSalary
類把一個場(稱爲工資)具有相同地址在班級工作人員的「工資」..所以當我改變工人班級的工資時,它會在WSalary
班級自動變更。
最新解決方案? 感謝
C++要求'const'和'reference'成員*必須*在*構造函數初始化列表*中被初始化。你沒有。 「薪水工資」作爲一個參數沒有什麼好處,更不用說作爲參考成員的有效初始化工具。 – WhozCraig