转发声明的朋友

时间:2018-02-28 17:09:00

标签: c++ friend

我有两个A和B类,我想从A中访问B的私人成员。

class A; // Forward declaration    

class B {
    friend class A; // A is a friend of B

    A a; // error: 'B::a' uses undefined class 'A'
private:
    int i;
};

class A {

public:
    B *m_b;

    A(B *i_b) : m_b(i_b) {}; // legal access due to friendship
};

但是,我不明白为什么会出现以下错误: 'B :: a'使用未定义的类'A'

0 个答案:

没有答案