我有這個類在C++:如何創建operator []進行設置?
class Company{
string PhoneNumber;
std::set<ER*> Rooms;
public:
// some other functions
}
現在我想要寫操作=
這一類,我有一個問題要經過一套
這是我走到這一步:
Company& Company::operator=(const Company& company){
if(this==&company){
return *this;
}
int numRooms=Rooms.size();
for(int i=0;i<numRooms;i++){
delete Rooms[i];
}
int numCompanyRooms=company.Rooms.size();
for(int i=0;i<numCompanyRooms;i++){
Rooms[i]= new ER(*company.Rooms[i]); // i get error no match operator [] !
}
Rooms=company.Rooms;
return *this;
}
任何幫助我在做什麼錯在這裏!?
拋開不存在的'operator []',你需要向你的[橡皮鴨]解釋你的代碼(https://en.wikipedia.org/wiki/Rubber_duck_debugging)。 – juanchopanza
你確定'std :: set'已經重載'operator []'? –
無關,但我確定希望兩組的大小都是一樣的...... – donkopotamus