// a.h文件
#ifndef A_H
#define A_H
#include "b.h"
class A
{
int a;
public:
void add(B&b);
};
#endif
// a.cpp
#include "a.h"
#include "b.h"
void A::add(B&x)
{
this->a=a+x.b;
}
// b.h
#ifndef B_H
#define B_H
#include "a.h"
using namespace std;
class A;
class B
{
int b;
public:
friend void A::add(B&b);
};
#endif
发生的错误:类型“ class A”和int B :: b'不完整的ue 在函数A :: add()的上下文中是私有的。 我认为第二个事件发生,因为第一个事件。 当我没有声明友好函数而是将类A定义为类B的形式时,evrything的工作没有任何错误。
我该怎么办?