我有一个classA,它有一个vector< classB* > vObject。
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 元素的指针。这是我当前的运营商实现:
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];
我对此感到非常困惑,我认为我的代码是正确的,但实际上它不起作用。如果有人能告诉我我做错了什么,我会很高兴。
上面的代码只是我实际代码的一个示例。