是否可以创建一个具有前向声明类的朋友功能的类?如果我想创建两个具有彼此朋友功能的类,我该怎么做?尝试失败,并显示消息invalid use of incomplete type 'class Y'
:
class Y;
class X
{
public:
void a();
friend void Y::b();
};
class Y
{
public:
void b();
friend void X::a();
};
我还尝试在void Y::b();
之后立即声明class Y;
,这同样无效。这个例子是我设计不良的指示,还是C ++的局限性?