有沒有解決這個辦法:遞歸友元類
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' – 2011-05-28 00:20:03
你到底想要做什麼,你需要B和C的構造函數互相可見嗎? – 2011-05-28 00:26:12
@Mike,這實際上是一個合成的例子。真實情況是,由於理由複雜,我不能允許依賴C來強制依賴於B. – BCS 2011-05-28 01:55:52