私は、C++でこのクラスを持っている:セットの演算子[]を作成する方法は?
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;
}
私がここで間違っていることの助けを借りてください!
非存在 '演算子[]'さておき、あなたはあなたの[ラバーダック](https://en.wikipedia.org/wiki/Rubber_duck_debugging)にあなたのコードを説明する必要があります。 – juanchopanza
'std :: set'は' operator [] 'をオーバーロードしていますか? –
無関係ですが、私は両方のセットのサイズが同じであることを願っています。 – donkopotamus