我有一个类,它有一个指向另一个类对象的指针向量。
class Foo {
public:
Foo(vector<Member*> m);
Foo();
~Foo(void);
void addMember(Member* m);
vector<Member*> getMember(void);
private:
vector<Member*> m;
};
这是cpp文件
Foo::Foo( vector<Member*> m) {
this->m;
}
void Foo::addMember(Member*m) {
this->m.push_back(m);
}
vector<Member*> Foo::getMember() {
return this->member;
}
当我尝试添加对象时:
foo[x].getMember().push_back(new Member);
我有一个foo数组,我正在传递函数,我正在使用向量push_back。在函数结束时调用成员obj析构函数,当我尝试到达Member对象时,我收到了seg错误。我错过了什么?
我按照建议使用智能指针修复此问题。谢谢!
Member* m = new Member();