Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
例如,我有一个 Ah 头文件,其中有一个类声明,例如:
class A { public: struct Node { int val; }; private: B* b; };
它包括在 Bh 文件中定义的 B 类指针:
class B { public: A::Node* node_new() { ***}; };
当我编译项目时,出现“嵌套名称说明符”错误。如何解决?
是的,Ah 包括 #include"Bh" 而 Bh 包括 #include "Ah"
所以,这里是无限递归......你应该B在A.h文件中使用类的前向声明并包含A.h在B.h,所以,这应该可以正常工作。
B
A.h
B.h