以下代码在 VC++6 中编译。我不明白为什么我收到C2079: 'b' uses undefined class 'B'
以下代码的编译错误。
B类源
#include "B.h"
void B::SomeFunction()
{
}
B 类标头
#include "A.h"
struct A;
class B
{
public:
A a;
void SomeFunction();
};
结构 A 标头
#include "B.h"
class B;
struct A
{
B b;
};
如果我将 B 类标头更改为以下内容,则不会出现错误。但标题声明不会在顶部!
带有奇怪的标头声明的 B 类标头
struct A;
class B
{
public:
A a;
void SomeFunction();
};
#include "A.h"