【发布时间】:2011-05-28 00:03:53
【问题描述】:
有没有办法解决这个问题:
class B;
class C {
public:
C() { }
private:
int i;
friend B::B();
};
class B {
public:
B() { }
private:
int i;
friend C::C();
};
给出错误:
prog.cpp:8: error: invalid use of incomplete type ‘struct B’
prog.cpp:1: error: forward declaration of ‘struct B’
【问题讨论】:
-
我认为你能得到的最接近的是
friend class B -
你到底想要做什么,你需要 B 和 C 的构造函数对彼此可见?
-
@Mike,这实际上是一个综合示例。实际情况是,出于复杂的原因,我不能允许对 C 的依赖强制依赖于 B 的定义。
标签: c++ friend friend-class