0

例如,我有一个 Ah 头文件,其中有一个类声明,例如:

class A {
public:
    struct Node {
        int val;
    };
private:
    B* b;
};

它包括在 Bh 文件中定义的 B 类指针:

class B {
public:
    A::Node* node_new() { ***};
};

当我编译项目时,出现“嵌套名称说明符”错误。如何解决?

4

1 回答 1

3

是的,Ah 包括 #include"Bh" 而 Bh 包括 #include "Ah"

所以,这里是无限递归......你应该BA.h文件中使用类的前向声明并包含A.hB.h,所以,这应该可以正常工作。

于 2013-03-29T05:27:08.870 回答