C ++我遇到错误:不完整类型'class A'和int B :: b'的ue在函数A :: add()中是私有的

时间:2019-11-01 12:55:54

标签: c++ file class

// 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的工作没有任何错误。

我该怎么办?

0 个答案:

没有答案