vector< classB* > vObjectを持つclassAがあります。
class ClassA{
public:
ClassB** operator [] (int index);
private:
vector<ClassB*> vObject
};
vObject がいくつかの classB* オブジェクトで満たされていると仮定しましょう。 私がやりたいのは、そのようにベクトルの classB* 要素を置き換えることができるようにすることです:
classA_obj[3] = classA_obj[5];
classA_obj[1] = classB_obj;
ClassB Element のポインタを返そうとしました。これが私の現在のオペレーターの実装です:
ClassB** ClassA::operator [](int index){
return &vObject[index]; }
その後、私は次のことを試しました:
*classA_obj[3] = *classA_obj[5]
ベクトルだけですべての作業を行うコードは次のようになります。
vector<ClassB*> vObject;
vObject.push_back(new ClassB(ARG1,ARG2));
vObject.push_back(new ClassB(ARG1,ARG2));
vObject[0] = vObject[1];
私はこれについて本当に混乱しています。私のコードは正しいと思っていましたが、実際には機能しません。誰かが私が間違っていることを教えてくれれば幸いです。
上記のコードは、実際のコードの単なるサンプルです。