Fil*_*šek 3 c++ circular-dependency
我有这个问题:
我有 A 类,它是 B 类的朋友。A 类有一个vector<B>. 但我希望 B 类能够访问 A 类。
class A
{
friend class B;
static vector<B*> buffer;
}
Class B
{
public:
B()
{
A::buffer.push_back(this);
}
}
Run Code Online (Sandbox Code Playgroud)
还有其他方法可以自动将 B 类添加到向量中吗?
感谢您的任何帮助!
你的代码几乎可以工作了。
B A::buffer.push_back(this);class B; // forward declaration
class A {
friend class B;
public:
static std::vector<B*> buffer;
};
std::vector<B*> A::buffer{};
class B {
friend class A;
public:
B();
};
B::B() { A::buffer.push_back(this); }
Run Code Online (Sandbox Code Playgroud)